From: Severin Meyer Date: Thu, 22 Jan 2015 17:33:50 +0000 (+0100) Subject: Move double click detection from listbox subtypes to the superclass X-Git-Tag: xonotic-v0.8.1~153^2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=db3154c25855e30c5adcd0216095a1b8d351b1b5;p=xonotic%2Fxonotic-data.pk3dir.git Move double click detection from listbox subtypes to the superclass --- diff --git a/qcsrc/menu/item/listbox.c b/qcsrc/menu/item/listbox.c index d4eaab2a7..275b99735 100644 --- a/qcsrc/menu/item/listbox.c +++ b/qcsrc/menu/item/listbox.c @@ -35,8 +35,13 @@ CLASS(ListBox) EXTENDS(Item) ATTRIB(ListBox, itemHeight, float, 0) ATTRIB(ListBox, colorBG, vector, '0 0 0') ATTRIB(ListBox, alphaBG, float, 0) + + ATTRIB(ListBox, lastClickedItem, float, -1) + ATTRIB(ListBox, lastClickedTime, float, 0) + METHOD(ListBox, drawListBoxItem, void(entity, float, vector, float)) // item number, width/height, selected METHOD(ListBox, clickListBoxItem, void(entity, float, vector)) // item number, relative clickpos + METHOD(ListBox, doubleClickListBoxItem, void(entity, float, vector)) // item number, relative clickpos METHOD(ListBox, setSelected, void(entity, float)) METHOD(ListBox, getLastFullyVisibleItemAtScrollPos, float(entity, float)) @@ -260,7 +265,15 @@ float ListBox_mouseRelease(entity me, vector pos) // and give it a nice click event if(me.nItems > 0) { - me.clickListBoxItem(me, me.selectedItem, globalToBox(pos, eY * (me.getItemStart(me, me.selectedItem) - me.scrollPos), eX * (1 - me.controlWidth) + eY * me.getItemHeight(me, me.selectedItem))); + vector where = globalToBox(pos, eY * (me.getItemStart(me, me.selectedItem) - me.scrollPos), eX * (1 - me.controlWidth) + eY * me.getItemHeight(me, me.selectedItem)); + + if((me.selectedItem == me.lastClickedItem) && (time < me.lastClickedTime + 0.3)) + me.doubleClickListBoxItem(me, me.selectedItem, where); + else + me.clickListBoxItem(me, me.selectedItem, where); + + me.lastClickedItem = me.selectedItem; + me.lastClickedTime = time; } } me.pressed = 0; @@ -374,7 +387,12 @@ void ListBox_draw(entity me) void ListBox_clickListBoxItem(entity me, float i, vector where) { - // itemclick, itemclick, does whatever itemclick does + // template method +} + +void ListBox_doubleClickListBoxItem(entity me, float i, vector where) +{ + // template method } void ListBox_drawListBoxItem(entity me, float i, vector absSize, float selected) diff --git a/qcsrc/menu/xonotic/campaign.c b/qcsrc/menu/xonotic/campaign.c index 454b4ad71..126b728c8 100644 --- a/qcsrc/menu/xonotic/campaign.c +++ b/qcsrc/menu/xonotic/campaign.c @@ -4,7 +4,7 @@ CLASS(XonoticCampaignList) EXTENDS(XonoticListBox) ATTRIB(XonoticCampaignList, rowsPerItem, float, 10) METHOD(XonoticCampaignList, draw, void(entity)) METHOD(XonoticCampaignList, drawListBoxItem, void(entity, float, vector, float)) - METHOD(XonoticCampaignList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticCampaignList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticCampaignList, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(XonoticCampaignList, setSelected, void(entity, float)) METHOD(XonoticCampaignList, keyDown, float(entity, float, float, float)) @@ -24,9 +24,6 @@ CLASS(XonoticCampaignList) EXTENDS(XonoticListBox) ATTRIB(XonoticCampaignList, realUpperMargin1, float, 0) ATTRIB(XonoticCampaignList, realUpperMargin2, float, 0) - ATTRIB(XonoticCampaignList, lastClickedMap, float, -1) - ATTRIB(XonoticCampaignList, lastClickedTime, float, 0) - ATTRIB(XonoticCampaignList, origin, vector, '0 0 0') ATTRIB(XonoticCampaignList, itemAbsSize, vector, '0 0 0') ATTRIB(XonoticCampaignList, emptyLineHeight, float, 0.5) @@ -233,18 +230,9 @@ void XonoticCampaignList_resizeNotify(entity me, vector relOrigin, vector relSiz rewrapCampaign(me.columnNameSize, me.rowsPerItem - 3, me.emptyLineHeight, me.realFontSize); } -void XonoticCampaignList_clickListBoxItem(entity me, float i, vector where) +void XonoticCampaignList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedMap) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - // start game - CampaignList_LoadMap(me, me); - return; - } - me.lastClickedMap = i; - me.lastClickedTime = time; + CampaignList_LoadMap(me, me); } void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, float isSelected) { diff --git a/qcsrc/menu/xonotic/demolist.c b/qcsrc/menu/xonotic/demolist.c index f2e209ca4..9f5909676 100644 --- a/qcsrc/menu/xonotic/demolist.c +++ b/qcsrc/menu/xonotic/demolist.c @@ -8,7 +8,7 @@ CLASS(XonoticDemoList) EXTENDS(XonoticListBox) METHOD(XonoticDemoList, startDemo, void(entity)) METHOD(XonoticDemoList, timeDemo, void(entity)) METHOD(XonoticDemoList, demoName, string(entity, float)) - METHOD(XonoticDemoList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticDemoList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticDemoList, keyDown, float(entity, float, float, float)) METHOD(XonoticDemoList, destroy, void(entity)) METHOD(XonoticDemoList, showNotify, void(entity)) @@ -21,8 +21,6 @@ CLASS(XonoticDemoList) EXTENDS(XonoticListBox) ATTRIB(XonoticDemoList, origin, vector, '0 0 0') ATTRIB(XonoticDemoList, itemAbsSize, vector, '0 0 0') - ATTRIB(XonoticDemoList, lastClickedDemo, float, -1) - ATTRIB(XonoticDemoList, lastClickedTime, float, 0) ATTRIB(XonoticDemoList, filterString, string, string_null) ENDCLASS(XonoticDemoList) @@ -207,17 +205,9 @@ void DemoConfirm_ListClick_Check_Gamestatus(entity me) } } -void XonoticDemoList_clickListBoxItem(entity me, float i, vector where) +void XonoticDemoList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedDemo) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - DemoConfirm_ListClick_Check_Gamestatus(me); - } - me.lastClickedDemo = i; - me.lastClickedTime = time; + DemoConfirm_ListClick_Check_Gamestatus(me); } float XonoticDemoList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/keybinder.c b/qcsrc/menu/xonotic/keybinder.c index c312e3826..60c44ddaf 100644 --- a/qcsrc/menu/xonotic/keybinder.c +++ b/qcsrc/menu/xonotic/keybinder.c @@ -3,7 +3,7 @@ CLASS(XonoticKeyBinder) EXTENDS(XonoticListBox) METHOD(XonoticKeyBinder, configureXonoticKeyBinder, void(entity)) ATTRIB(XonoticKeyBinder, rowsPerItem, float, 1) METHOD(XonoticKeyBinder, drawListBoxItem, void(entity, float, vector, float)) - METHOD(XonoticKeyBinder, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticKeyBinder, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticKeyBinder, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(XonoticKeyBinder, setSelected, void(entity, float)) METHOD(XonoticKeyBinder, keyDown, float(entity, float, float, float)) @@ -16,8 +16,6 @@ CLASS(XonoticKeyBinder) EXTENDS(XonoticListBox) ATTRIB(XonoticKeyBinder, columnKeysOrigin, float, 0) ATTRIB(XonoticKeyBinder, columnKeysSize, float, 0) - ATTRIB(XonoticKeyBinder, lastClickedKey, float, -1) - ATTRIB(XonoticKeyBinder, lastClickedTime, float, 0) ATTRIB(XonoticKeyBinder, previouslySelected, float, -1) ATTRIB(XonoticKeyBinder, inMouseHandler, float, 0) ATTRIB(XonoticKeyBinder, userbindEditButton, entity, NULL) @@ -245,16 +243,9 @@ void KeyBinder_Bind_Reset_All(entity btn, entity me) localcmd("-zoom\n"); // to make sure we aren't in togglezoom'd state cvar_set("_hud_showbinds_reload", "1"); } -void XonoticKeyBinder_clickListBoxItem(entity me, float i, vector where) +void XonoticKeyBinder_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedKey) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - KeyBinder_Bind_Change(NULL, me); - } - me.lastClickedKey = i; - me.lastClickedTime = time; + KeyBinder_Bind_Change(NULL, me); } void XonoticKeyBinder_setSelected(entity me, float i) { diff --git a/qcsrc/menu/xonotic/languagelist.c b/qcsrc/menu/xonotic/languagelist.c index 24445786a..38b8098ae 100644 --- a/qcsrc/menu/xonotic/languagelist.c +++ b/qcsrc/menu/xonotic/languagelist.c @@ -15,10 +15,8 @@ CLASS(XonoticLanguageList) EXTENDS(XonoticListBox) ATTRIB(XonoticLanguageList, columnPercentageOrigin, float, 0) ATTRIB(XonoticLanguageList, columnPercentageSize, float, 0) - METHOD(XonoticLanguageList, clickListBoxItem, void(entity, float, vector)) // double click handling + METHOD(XonoticLanguageList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticLanguageList, keyDown, float(entity, float, float, float)) // enter handling - ATTRIB(XonoticLanguageList, lastClickedLanguage, float, -1) - ATTRIB(XonoticLanguageList, lastClickedTime, float, 0) METHOD(XonoticLanguageList, destroy, void(entity)) @@ -140,17 +138,9 @@ void XonoticLanguageList_saveCvars(entity me) cvar_set("_menu_prvm_language", me.languageParameter(me, me.selectedItem, LANGPARM_ID)); } -void XonoticLanguageList_clickListBoxItem(entity me, float i, vector where) +void XonoticLanguageList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedLanguage) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - me.setLanguage(me); - } - me.lastClickedLanguage = i; - me.lastClickedTime = time; + me.setLanguage(me); } float XonoticLanguageList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c index 60eeb445c..e05c7644f 100644 --- a/qcsrc/menu/xonotic/maplist.c +++ b/qcsrc/menu/xonotic/maplist.c @@ -5,6 +5,7 @@ CLASS(XonoticMapList) EXTENDS(XonoticListBox) METHOD(XonoticMapList, draw, void(entity)) METHOD(XonoticMapList, drawListBoxItem, void(entity, float, vector, float)) METHOD(XonoticMapList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticMapList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticMapList, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(XonoticMapList, refilter, void(entity)) METHOD(XonoticMapList, refilterCallback, void(entity, entity)) @@ -20,9 +21,6 @@ CLASS(XonoticMapList) EXTENDS(XonoticListBox) ATTRIB(XonoticMapList, realUpperMargin1, float, 0) ATTRIB(XonoticMapList, realUpperMargin2, float, 0) - ATTRIB(XonoticMapList, lastClickedMap, float, -1) - ATTRIB(XonoticMapList, lastClickedTime, float, 0) - ATTRIB(XonoticMapList, lastGametype, float, 0) ATTRIB(XonoticMapList, lastFeatures, float, 0) @@ -144,21 +142,16 @@ void XonoticMapList_clickListBoxItem(entity me, float i, vector where) if(where_x <= me.columnPreviewOrigin + me.columnPreviewSize) if(where_x >= 0) me.g_maplistCacheToggle(me, i); +} +void XonoticMapList_doubleClickListBoxItem(entity me, float i, vector where) +{ if(where_x >= me.columnNameOrigin) if(where_x <= 1) { - if(i == me.lastClickedMap) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - // pop up map info screen - main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i, me); - DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * i - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize)); - return; - } - me.lastClickedMap = i; - me.lastClickedTime = time; + // pop up map info screen + main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, i, me); + DialogOpenButton_Click_withCoords(NULL, main.mapInfoDialog, me.origin + eX * (me.columnNameOrigin * me.size_x) + eY * ((me.itemHeight * i - me.scrollPos) * me.size_y), eY * me.itemAbsSize_y + eX * (me.itemAbsSize_x * me.columnNameSize)); } } diff --git a/qcsrc/menu/xonotic/playlist.c b/qcsrc/menu/xonotic/playlist.c index 80fe3132e..e3cd56dc5 100644 --- a/qcsrc/menu/xonotic/playlist.c +++ b/qcsrc/menu/xonotic/playlist.c @@ -9,7 +9,7 @@ CLASS(XonoticPlayList) EXTENDS(XonoticListBox) METHOD(XonoticPlayList, startSound, void(entity, float)) METHOD(XonoticPlayList, resumeSound, void(entity)) METHOD(XonoticPlayList, pauseSound, void(entity)) - METHOD(XonoticPlayList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticPlayList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticPlayList, keyDown, float(entity, float, float, float)) METHOD(XonoticPlayList, mouseDrag, float(entity, vector)) @@ -25,9 +25,6 @@ CLASS(XonoticPlayList) EXTENDS(XonoticListBox) ATTRIB(XonoticPlayList, realUpperMargin, float, 0) ATTRIB(XonoticPlayList, origin, vector, '0 0 0') ATTRIB(XonoticPlayList, itemAbsSize, vector, '0 0 0') - - ATTRIB(XonoticPlayList, lastClickedSound, float, -1) - ATTRIB(XonoticPlayList, lastClickedTime, float, 0) ENDCLASS(XonoticPlayList) entity makeXonoticPlayList(); @@ -279,17 +276,9 @@ void PauseSound_Click(entity btn, entity me) me.pauseSound(me); } -void XonoticPlayList_clickListBoxItem(entity me, float i, vector where) +void XonoticPlayList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedSound) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - me.startSound(me, 0); - } - me.lastClickedSound = i; - me.lastClickedTime = time; + me.startSound(me, 0); } float XonoticPlayList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/screenshotlist.c b/qcsrc/menu/xonotic/screenshotlist.c index dd8b61ed3..c8f3becfa 100644 --- a/qcsrc/menu/xonotic/screenshotlist.c +++ b/qcsrc/menu/xonotic/screenshotlist.c @@ -10,7 +10,7 @@ CLASS(XonoticScreenshotList) EXTENDS(XonoticListBox) METHOD(XonoticScreenshotList, previewScreenshot, void(entity)) METHOD(XonoticScreenshotList, startScreenshot, void(entity)) METHOD(XonoticScreenshotList, screenshotName, string(entity, float)) - METHOD(XonoticScreenshotList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticScreenshotList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticScreenshotList, keyDown, float(entity, float, float, float)) METHOD(XonoticScreenshotList, destroy, void(entity)) METHOD(XonoticScreenshotList, showNotify, void(entity)) @@ -21,8 +21,6 @@ CLASS(XonoticScreenshotList) EXTENDS(XonoticListBox) ATTRIB(XonoticScreenshotList, realUpperMargin, float, 0) ATTRIB(XonoticScreenshotList, origin, vector, '0 0 0') ATTRIB(XonoticScreenshotList, itemAbsSize, vector, '0 0 0') - ATTRIB(XonoticScreenshotList, lastClickedScreenshot, float, -1) - ATTRIB(XonoticScreenshotList, lastClickedTime, float, 0) ATTRIB(XonoticScreenshotList, filterString, string, string_null) ATTRIB(XonoticScreenshotList, filterBox, entity, NULL) ATTRIB(XonoticScreenshotList, filterTime, float, 0) @@ -280,18 +278,9 @@ void StartScreenshot_Click(entity btn, entity me) me.startScreenshot(me); } -void XonoticScreenshotList_clickListBoxItem(entity me, float i, vector where) +void XonoticScreenshotList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedScreenshot) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - // pop up screenshot - me.setSelected(me, i); - me.startScreenshot(me); - } - me.lastClickedScreenshot = i; - me.lastClickedTime = time; + me.startScreenshot(me); } float XonoticScreenshotList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/serverlist.c b/qcsrc/menu/xonotic/serverlist.c index 8b3a9e9a0..c78cba0e0 100644 --- a/qcsrc/menu/xonotic/serverlist.c +++ b/qcsrc/menu/xonotic/serverlist.c @@ -4,7 +4,7 @@ CLASS(XonoticServerList) EXTENDS(XonoticListBox) ATTRIB(XonoticServerList, rowsPerItem, float, 1) METHOD(XonoticServerList, draw, void(entity)) METHOD(XonoticServerList, drawListBoxItem, void(entity, float, vector, float)) - METHOD(XonoticServerList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticServerList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticServerList, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(XonoticServerList, keyDown, float(entity, float, float, float)) METHOD(XonoticServerList, toggleFavorite, void(entity, string)) @@ -49,8 +49,6 @@ CLASS(XonoticServerList) EXTENDS(XonoticListBox) ATTRIB(XonoticServerList, infoButton, entity, NULL) ATTRIB(XonoticServerList, currentSortOrder, float, 0) ATTRIB(XonoticServerList, currentSortField, float, -1) - ATTRIB(XonoticServerList, lastClickedServer, float, -1) - ATTRIB(XonoticServerList, lastClickedTime, float, 0) ATTRIB(XonoticServerList, ipAddressBoxFocused, float, -1) @@ -722,11 +720,7 @@ void XonoticServerList_draw(entity me) { if(gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer) { - if(i != me.selectedItem) - { - me.lastClickedServer = -1; - me.selectedItem = i; - } + me.selectedItem = i; found = 1; break; } @@ -962,16 +956,9 @@ void ServerList_Info_Click(entity btn, entity me) vector sz = boxToGlobalSize(eY * me.itemHeight + eX * (1 - me.controlWidth), me.size); DialogOpenButton_Click_withCoords(me, main.serverInfoDialog, org, sz); } -void XonoticServerList_clickListBoxItem(entity me, float i, vector where) +void XonoticServerList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedServer) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - ServerList_Connect_Click(NULL, me); - } - me.lastClickedServer = i; - me.lastClickedTime = time; + ServerList_Connect_Click(NULL, me); } void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float isSelected) { diff --git a/qcsrc/menu/xonotic/skinlist.c b/qcsrc/menu/xonotic/skinlist.c index 0387303ea..034fb2584 100644 --- a/qcsrc/menu/xonotic/skinlist.c +++ b/qcsrc/menu/xonotic/skinlist.c @@ -9,7 +9,7 @@ CLASS(XonoticSkinList) EXTENDS(XonoticListBox) METHOD(XonoticSkinList, loadCvars, void(entity)) METHOD(XonoticSkinList, saveCvars, void(entity)) METHOD(XonoticSkinList, skinParameter, string(entity, float, float)) - METHOD(XonoticSkinList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticSkinList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticSkinList, keyDown, float(entity, float, float, float)) METHOD(XonoticSkinList, destroy, void(entity)) @@ -24,9 +24,6 @@ CLASS(XonoticSkinList) EXTENDS(XonoticListBox) ATTRIB(XonoticSkinList, origin, vector, '0 0 0') ATTRIB(XonoticSkinList, itemAbsSize, vector, '0 0 0') - ATTRIB(XonoticSkinList, lastClickedSkin, float, -1) - ATTRIB(XonoticSkinList, lastClickedTime, float, 0) - ATTRIB(XonoticSkinList, name, string, "skinselector") ENDCLASS(XonoticSkinList) @@ -182,17 +179,9 @@ void SetSkin_Click(entity btn, entity me) me.setSkin(me); } -void XonoticSkinList_clickListBoxItem(entity me, float i, vector where) +void XonoticSkinList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedSkin) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - me.setSkin(me); - } - me.lastClickedSkin = i; - me.lastClickedTime = time; + me.setSkin(me); } float XonoticSkinList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/soundlist.c b/qcsrc/menu/xonotic/soundlist.c index e45e486dc..7d1515062 100644 --- a/qcsrc/menu/xonotic/soundlist.c +++ b/qcsrc/menu/xonotic/soundlist.c @@ -6,7 +6,7 @@ CLASS(XonoticSoundList) EXTENDS(XonoticListBox) METHOD(XonoticSoundList, drawListBoxItem, void(entity, float, vector, float)) METHOD(XonoticSoundList, getSounds, void(entity)) METHOD(XonoticSoundList, soundName, string(entity, float)) - METHOD(XonoticSoundList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticSoundList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticSoundList, keyDown, float(entity, float, float, float)) METHOD(XonoticSoundList, destroy, void(entity)) METHOD(XonoticSoundList, showNotify, void(entity)) @@ -21,8 +21,6 @@ CLASS(XonoticSoundList) EXTENDS(XonoticListBox) ATTRIB(XonoticSoundList, origin, vector, '0 0 0') ATTRIB(XonoticSoundList, itemAbsSize, vector, '0 0 0') - ATTRIB(XonoticSoundList, lastClickedSound, float, -1) - ATTRIB(XonoticSoundList, lastClickedTime, float, 0) ATTRIB(XonoticSoundList, filterString, string, string_null) ATTRIB(XonoticSoundList, playlist, entity, world) ENDCLASS(XonoticSoundList) @@ -159,17 +157,9 @@ void SoundList_Add_All(entity box, entity me) me.playlist.addToPlayList(me.playlist, me.soundName(me, i)); } -void XonoticSoundList_clickListBoxItem(entity me, float i, vector where) +void XonoticSoundList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedSound) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - me.playlist.addToPlayList(me.playlist, me.soundName(me, i)); - } - me.lastClickedSound = i; - me.lastClickedTime = time; + me.playlist.addToPlayList(me.playlist, me.soundName(me, i)); } float XonoticSoundList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/menu/xonotic/statslist.c b/qcsrc/menu/xonotic/statslist.c index 988244816..c7b744a66 100644 --- a/qcsrc/menu/xonotic/statslist.c +++ b/qcsrc/menu/xonotic/statslist.c @@ -5,7 +5,7 @@ CLASS(XonoticStatsList) EXTENDS(XonoticListBox) METHOD(XonoticStatsList, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(XonoticStatsList, drawListBoxItem, void(entity, float, vector, float)) METHOD(XonoticStatsList, getStats, void(entity)) - METHOD(XonoticStatsList, clickListBoxItem, void(entity, float, vector)) + METHOD(XonoticStatsList, doubleClickListBoxItem, void(entity, float, vector)) METHOD(XonoticStatsList, keyDown, float(entity, float, float, float)) METHOD(XonoticStatsList, destroy, void(entity)) METHOD(XonoticStatsList, showNotify, void(entity)) @@ -15,9 +15,6 @@ CLASS(XonoticStatsList) EXTENDS(XonoticListBox) ATTRIB(XonoticStatsList, realUpperMargin, float, 0) ATTRIB(XonoticStatsList, columnNameOrigin, float, 0) ATTRIB(XonoticStatsList, columnNameSize, float, 0) - - ATTRIB(XonoticStatsList, lastClickedDemo, float, -1) - ATTRIB(XonoticStatsList, lastClickedTime, float, 0) ENDCLASS(XonoticStatsList) entity statslist; // for reference elsewhere @@ -333,17 +330,9 @@ void XonoticStatsList_showNotify(entity me) PlayerStats_PlayerDetail_CheckUpdate(); } -void XonoticStatsList_clickListBoxItem(entity me, float i, vector where) +void XonoticStatsList_doubleClickListBoxItem(entity me, float i, vector where) { - if(i == me.lastClickedDemo) - if(time < me.lastClickedTime + 0.3) - { - // DOUBLE CLICK! - me.setSelected(me, i); - //DemoConfirm_ListClick_Check_Gamestatus(me); - } - me.lastClickedDemo = i; - me.lastClickedTime = time; + //DemoConfirm_ListClick_Check_Gamestatus(me); } float XonoticStatsList_keyDown(entity me, float scan, float ascii, float shift)