From 2c909b2c836bc6984a66fa04d7e2121a9b563974 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Mon, 10 Oct 2016 10:25:24 +0300 Subject: [PATCH] fix default theme - better TAB control; disable main menu toggle by single Alt press for non-windows --- src/dlangui/widgets/menu.d | 27 +++++++++++++++------------ src/dlangui/widgets/tabs.d | 6 ++++++ views/res/tab_btn_up.xml | 6 +++--- views/res/tab_btn_up_hover.9.png | Bin 266 -> 472 bytes views/res/tab_btn_up_normal.9.png | Bin 286 -> 483 bytes views/res/tab_btn_up_selected.9.png | Bin 267 -> 471 bytes views/res/tab_up_background.9.png | Bin 263 -> 238 bytes views/res/theme_default.xml | 4 ++-- 8 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/dlangui/widgets/menu.d b/src/dlangui/widgets/menu.d index 90d1c116..7250a22c 100644 --- a/src/dlangui/widgets/menu.d +++ b/src/dlangui/widgets/menu.d @@ -952,18 +952,21 @@ class MainMenu : MenuWidgetBase { } } - if (event.action == KeyAction.KeyDown && isAlt && noOtherModifiers) { - _menuToggleState = 1; - } else if (event.action == KeyAction.KeyUp && isAlt && noOtherModifiers) { - if (_menuToggleState == 1) - toggleMenu = true; - _menuToggleState = 0; - } else { - _menuToggleState = 0; - } - if (toggleMenu) { - toggle(); - return true; + // toggle menu by single Alt press - for Windows only! + version (Windows) { + if (event.action == KeyAction.KeyDown && isAlt && noOtherModifiers) { + _menuToggleState = 1; + } else if (event.action == KeyAction.KeyUp && isAlt && noOtherModifiers) { + if (_menuToggleState == 1) + toggleMenu = true; + _menuToggleState = 0; + } else { + _menuToggleState = 0; + } + if (toggleMenu) { + toggle(); + return true; + } } if (!focused) return false; diff --git a/src/dlangui/widgets/tabs.d b/src/dlangui/widgets/tabs.d index 78650a9f..a377411d 100644 --- a/src/dlangui/widgets/tabs.d +++ b/src/dlangui/widgets/tabs.d @@ -126,6 +126,10 @@ class TabItemWidget : HorizontalLayout { styleId = tabButtonStyle; _label.styleId = tabButtonTextStyle; } + override void onDraw(DrawBuf buf) { + //debug Log.d("TabWidget.onDraw ", id); + super.onDraw(buf); + } protected bool onClick(Widget source) { if (source.compareId("CLOSE")) { Log.d("tab close button pressed"); @@ -522,6 +526,7 @@ class TabControl : WidgetGroupDefaultDrawing { override void onDraw(DrawBuf buf) { if (visibility != Visibility.Visible) return; + //debug Log.d("TabControl.onDraw enter"); super.Widget.onDraw(buf); Rect rc = _pos; applyMargins(rc); @@ -545,6 +550,7 @@ class TabControl : WidgetGroupDefaultDrawing { continue; item.onDraw(buf); } + //debug Log.d("TabControl.onDraw exit"); } protected string _selectedTabId; diff --git a/views/res/tab_btn_up.xml b/views/res/tab_btn_up.xml index bcae788c..c33460f4 100644 --- a/views/res/tab_btn_up.xml +++ b/views/res/tab_btn_up.xml @@ -3,12 +3,12 @@ android:constantSize="true" android:dither="false" android:variablePadding="false" > - + diff --git a/views/res/tab_btn_up_hover.9.png b/views/res/tab_btn_up_hover.9.png index fc8d89bfc9423de9d822932bc4a4adf0c26b083a..92cd5db1b94bb86bf6548dc66751e2c79202ff51 100644 GIT binary patch literal 472 zcmV;}0Vn>6P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00BTrL_t(I%k7j+N&`UVs+tV_bQ-G}nBkmbrPHC??Xo%CmKLBK7tP@7 z=;FPqPP06Z(=?M#XB81aL{L?{|6npHtt<-SBsuR7*3Vjir^owhcW*xtK+Q1KwyJYD z5e#^^yS1(1&dpl9cIW_JN6*$DY{UZ8b&ZCAnYE6FKwZ}e&>w6tDT{-wm*W7u_atd5 zI(O@$s47XCiuWD>m-TXj21FcY_AS875OD+z0OkPGphS^l*+h{;Lu2b2t$+wWFlc7J z06`UGc>|HCnVA88lYhWJfFC`-zc47r1+E+y@~a(YU)n5LF9)z?`#%93xS;v(s^F;r O0000>)rA&H|6fVg?58P7r1^KY4mBP>{XE)7O>#9t$U%xb$;o{#u|=m#2$kNXEUl zw>I(~G7xCHc%M;AO6_At9OFhOx6?XX1Wf{1y$*@KpS;du=LhKrQQK@c)#q+L^SQ=% z;xUQskE>tq{V%&k$9qyrmG4r%;7MDRRz)rET2bv9vVaIscYmkSt4sTA-ju%n`SHK{ X=Of&!ogIZhu4nLc^>bP0l+XkK7Sd>y diff --git a/views/res/tab_btn_up_normal.9.png b/views/res/tab_btn_up_normal.9.png index 9b35569362fafd44318dd359953482bf36954b77..1c0ead14954f236576ce10cf692b921f84a3204a 100644 GIT binary patch literal 483 zcmV<90UZ8`P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00B!$L_t(I%k7lQN&`U=1%TF^RNY*&wX=%=YKEy|X4vB(o#m7??b08t zFgiIV%X*~U6bEoQKBqreMSu_j8slU5`Dl!U5D=h0SY=XI6uq(mc<;&b9988rsVZ5X zKkz3Mqffj@yFoCO|{#S9GGogmC;e)9BMpdfpRr>`sfJr+(j3yB=Dv{gW%d7dtgAsP4H z-rC4{*g(MT;r(Mv%p_f^S6-BQWqO0N#iWDXz;oh}-fZjeJ?!k|cg+v@T7AFt*LV5i zDN6cFr)>GtCvfP#<62YCOMhhjbvG}$t9&Y&zkkJ9Wv>MejZCauA{qe%7^SuT{VTrS xNa}gD_w<=1=hr`f8k{|KW@gXAIiC|NnFD4SEskRi-w$*tgQu&X%Q~loCIF9dWZ(b* diff --git a/views/res/tab_btn_up_selected.9.png b/views/res/tab_btn_up_selected.9.png index 39e66dc87aefd1d6935b6dd54f6b8ab102061483..4400af65a443a87e635426a96b436b099db06caf 100644 GIT binary patch literal 471 zcmV;|0Vw{7P)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00BQqL_t(I%k7lGN=cWXN+k|DM+*>1M@c?7 z9Nd3p*-fp{sKjxNVsRG{K}1khyq_>0r=&?jrCPmfw)Srq0B^4^*~#fySwPebQ(aVb z4kv;E{pTkRJI9aZO8KGyFdV#Fv(-j`*=)A*PAmizC=?1bTW!W^a=zDY;{d$(RO1+3 z+I3Y_m1-R0y$8V6>J5ShL>y-JE5OVUaRdzj<^a>6M3H0NM3F;7ZtHTbfCw8H3k%mLfvAMg)gqv!V*2I(llrK3c)I>Y=+o2OQ90NA?gzX4FpjyH{YTao|( N002ovPDHLkV1l4Qy50Z) literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^szB_?!3HFEt$42lq!^2X+?^QKos)S9f-s}`$d%8G=WZZju z%aD&rQGoS=E&jV^-S;}Fl(k>uwuuS$C%JCzdb~Tt<*v6~i3UNi;{N1WztXSh?w67IdbH^K aKk=fa+>4ej$rb}Ti^0>?&t;ucLK6V84Ol7w diff --git a/views/res/tab_up_background.9.png b/views/res/tab_up_background.9.png index 09407ac35ead49b238f0ec62908d0d3fc2079d43..e1f9a5759f74b6440aff1a1fa079e20dc7fc3d5f 100644 GIT binary patch delta 197 zcmZo?ddE0HTt=OPje&uoBdn1FNUEaj?aro_}jl9hc0<0Hr3O^N4_U>@wxXZkB2dk9hG@YbZ4`ptvs2r0%lQP@3Hn(6+ zQEj2ctwa^?+eX125kKeYIc{aBKDJaq)oY4I;3Ah!AvohJbI6V>olFU}w%K9<<*zdt p-d$E^*d~|yk9(c$v3~I?=Bh6KomLL){y=vyc)I$ztaD0e0sy1(M`i#3 literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^szB_?!3HFEt$42lq!^2X+?^QKos)S9Mqffj@yFoCO|{#S9GGogmC;e)9BMpdfpRr>`sfJr+(jE4C&2mfk?2c25__kc@k8 zuWaN!WFX>tF}=I+2E#`7B<3S=kt*67{F1nKEpfkpY3JPCi@&RGpCkRV{_U3?_vWv> zlpcF2cthQsbq @@ -202,7 +202,7 @@ - +