Merge lp:~noskcaj/ubuntu/vivid/xfce4-whiskermenu-plugin/1.5.0 into lp:ubuntu/vivid/xfce4-whiskermenu-plugin
- Vivid (15.04)
- 1.5.0
- Merge into vivid
Proposed by
Jackson Doak
Status: | Needs review |
---|---|
Proposed branch: | lp:~noskcaj/ubuntu/vivid/xfce4-whiskermenu-plugin/1.5.0 |
Merge into: | lp:ubuntu/vivid/xfce4-whiskermenu-plugin |
Diff against target: |
24671 lines (+5639/-6710) 80 files modified
.pc/01_replace-gdmflexiserver.patch/panel-plugin/settings.cpp (+18/-7) CMakeLists.txt (+2/-2) ChangeLog (+0/-2575) NEWS (+25/-0) debian/changelog (+6/-0) debian/patches/01_replace-gdmflexiserver.patch (+6/-2) panel-plugin/CMakeLists.txt (+2/-1) panel-plugin/applications-page.cpp (+99/-27) panel-plugin/applications-page.h (+2/-0) panel-plugin/command.cpp (+3/-3) panel-plugin/command.h (+1/-2) panel-plugin/configuration-dialog.cpp (+134/-82) panel-plugin/configuration-dialog.h (+8/-1) panel-plugin/favorites-page.cpp (+127/-6) panel-plugin/favorites-page.h (+13/-2) panel-plugin/launcher-view.cpp (+36/-0) panel-plugin/launcher-view.h (+3/-0) panel-plugin/list-page.cpp (+0/-204) panel-plugin/list-page.h (+0/-56) panel-plugin/page.cpp (+12/-3) panel-plugin/plugin.cpp (+73/-19) panel-plugin/plugin.h (+6/-2) panel-plugin/profile-picture.cpp (+104/-0) panel-plugin/profile-picture.h (+52/-0) panel-plugin/recent-page.cpp (+74/-12) panel-plugin/recent-page.h (+6/-5) panel-plugin/resizer-widget.cpp (+35/-1) panel-plugin/resizer-widget.h (+2/-0) panel-plugin/search-page.cpp (+15/-12) panel-plugin/search-page.h (+2/-1) panel-plugin/settings.cpp (+18/-7) panel-plugin/settings.h (+6/-2) panel-plugin/slot.h (+1/-1) panel-plugin/window.cpp (+112/-30) panel-plugin/window.h (+6/-0) po/ar.po (+103/-78) po/ast.po (+103/-78) po/bg.po (+102/-85) po/ca.po (+107/-89) po/cs.po (+104/-78) po/da.po (+103/-78) po/de.po (+107/-90) po/el.po (+104/-78) po/en_GB.po (+103/-78) po/es.po (+104/-86) po/et.po (+103/-80) po/eu.po (+100/-82) po/fa.po (+104/-78) po/fi.po (+104/-78) po/fr.po (+107/-90) po/he.po (+101/-84) po/hr.po (+103/-78) po/hu.po (+100/-78) po/id.po (+104/-78) po/it.po (+101/-84) po/ja.po (+100/-83) po/kk.po (+104/-78) po/lt.po (+101/-84) po/lv.po (+103/-78) po/ms.po (+104/-78) po/nb.po (+104/-78) po/ne.po (+104/-78) po/nl.po (+101/-84) po/pl.po (+103/-86) po/pt.po (+102/-85) po/pt_BR.po (+103/-78) po/ro.po (+104/-78) po/ru.po (+104/-78) po/sk.po (+101/-84) po/sl.po (+101/-84) po/sr.po (+104/-78) po/sr@latin.po (+103/-78) po/sv.po (+102/-85) po/tr.po (+102/-85) po/uk.po (+104/-78) po/uz.po (+104/-78) po/vi.po (+103/-78) po/xfce4-whiskermenu-plugin.pot (+98/-81) po/zh_CN.po (+103/-78) po/zh_TW.po (+101/-84) |
To merge this branch: | bzr merge lp:~noskcaj/ubuntu/vivid/xfce4-whiskermenu-plugin/1.5.0 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sean Davis | Pending | ||
Review via email: mp+250199@code.launchpad.net |
Commit message
Description of the change
New upstream release. Xubuntu 15.04
To post a comment you must log in.
Unmerged revisions
- 14. By Jackson Doak
-
New upstream release.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.pc/01_replace-gdmflexiserver.patch/panel-plugin/settings.cpp' |
2 | --- .pc/01_replace-gdmflexiserver.patch/panel-plugin/settings.cpp 2015-01-08 07:09:23 +0000 |
3 | +++ .pc/01_replace-gdmflexiserver.patch/panel-plugin/settings.cpp 2015-02-18 19:37:38 +0000 |
4 | @@ -1,5 +1,5 @@ |
5 | /* |
6 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
7 | + * Copyright (C) 2013, 2104 Graeme Gott <graeme@gottcode.org> |
8 | * |
9 | * This library is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License as published by |
11 | @@ -37,7 +37,8 @@ |
12 | { "command-lockscreen", "show-command-lockscreen" }, |
13 | { "command-switchuser", "show-command-switchuser" }, |
14 | { "command-logout", "show-command-logout" }, |
15 | - { "command-menueditor", "show-command-menueditor" } |
16 | + { "command-menueditor", "show-command-menueditor" }, |
17 | + { "command-profile", "show-command-profile" } |
18 | }; |
19 | |
20 | //----------------------------------------------------------------------------- |
21 | @@ -85,7 +86,7 @@ |
22 | button_icon_name("xfce4-whiskermenu"), |
23 | button_title_visible(false), |
24 | button_icon_visible(true), |
25 | - button_single_row(false), |
26 | + button_single_row(false), |
27 | |
28 | launcher_show_name(true), |
29 | launcher_show_description(true), |
30 | @@ -95,15 +96,18 @@ |
31 | category_icon_size(IconSize::Smaller), |
32 | |
33 | load_hierarchy(false), |
34 | + |
35 | + recent_items_max(10), |
36 | favorites_in_recent(true), |
37 | - |
38 | display_recent(false), |
39 | + |
40 | position_search_alternate(false), |
41 | position_commands_alternate(false), |
42 | position_categories_alternate(false), |
43 | |
44 | menu_width(400), |
45 | - menu_height(500) |
46 | + menu_height(500), |
47 | + menu_opacity(100) |
48 | { |
49 | favorites.push_back("exo-terminal-emulator.desktop"); |
50 | favorites.push_back("exo-file-manager.desktop"); |
51 | @@ -115,6 +119,7 @@ |
52 | command[CommandSwitchUser] = new Command("system-users", _("Switch _Users"), "gdmflexiserver", _("Failed to switch users.")); |
53 | command[CommandLogOut] = new Command("system-log-out", _("Log _Out"), "xfce4-session-logout", _("Failed to log out.")); |
54 | command[CommandMenuEditor] = new Command("xfce4-menueditor", _("_Edit Applications"), "menulibre", _("Failed to launch menu editor.")); |
55 | + command[CommandProfile] = new Command("avatar-default", _("Edit _Profile"), "mugshot", _("Failed to edit profile.")); |
56 | |
57 | search_actions.push_back(new SearchAction(_("Man Pages"), "#", "exo-open --launch TerminalEmulator man %s", false, true)); |
58 | search_actions.push_back(new SearchAction(_("Wikipedia"), "!w", "exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u", false, true)); |
59 | @@ -173,15 +178,18 @@ |
60 | category_icon_size = xfce_rc_read_int_entry(rc, "category-icon-size", category_icon_size); |
61 | |
62 | load_hierarchy = xfce_rc_read_bool_entry(rc, "load-hierarchy", load_hierarchy); |
63 | + |
64 | + recent_items_max = std::max(5, xfce_rc_read_int_entry(rc, "recent-items-max", recent_items_max)); |
65 | favorites_in_recent = xfce_rc_read_bool_entry(rc, "favorites-in-recent", favorites_in_recent); |
66 | - |
67 | display_recent = xfce_rc_read_bool_entry(rc, "display-recent-default", display_recent); |
68 | + |
69 | position_search_alternate = xfce_rc_read_bool_entry(rc, "position-search-alternate", position_search_alternate); |
70 | position_commands_alternate = xfce_rc_read_bool_entry(rc, "position-commands-alternate", position_commands_alternate) && position_search_alternate; |
71 | position_categories_alternate = xfce_rc_read_bool_entry(rc, "position-categories-alternate", position_categories_alternate); |
72 | |
73 | menu_width = std::max(300, xfce_rc_read_int_entry(rc, "menu-width", menu_width)); |
74 | menu_height = std::max(400, xfce_rc_read_int_entry(rc, "menu-height", menu_height)); |
75 | + menu_opacity = std::min(100, std::max(0, xfce_rc_read_int_entry(rc, "menu-opacity", menu_height))); |
76 | |
77 | for (int i = 0; i < CountCommands; ++i) |
78 | { |
79 | @@ -266,15 +274,18 @@ |
80 | xfce_rc_write_int_entry(rc, "category-icon-size", category_icon_size); |
81 | |
82 | xfce_rc_write_bool_entry(rc, "load-hierarchy", load_hierarchy); |
83 | + |
84 | + xfce_rc_write_int_entry(rc, "recent-items-max", recent_items_max); |
85 | xfce_rc_write_bool_entry(rc, "favorites-in-recent", favorites_in_recent); |
86 | - |
87 | xfce_rc_write_bool_entry(rc, "display-recent-default", display_recent); |
88 | + |
89 | xfce_rc_write_bool_entry(rc, "position-search-alternate", position_search_alternate); |
90 | xfce_rc_write_bool_entry(rc, "position-commands-alternate", position_commands_alternate); |
91 | xfce_rc_write_bool_entry(rc, "position-categories-alternate", position_categories_alternate); |
92 | |
93 | xfce_rc_write_int_entry(rc, "menu-width", menu_width); |
94 | xfce_rc_write_int_entry(rc, "menu-height", menu_height); |
95 | + xfce_rc_write_int_entry(rc, "menu-opacity", menu_opacity); |
96 | |
97 | for (int i = 0; i < CountCommands; ++i) |
98 | { |
99 | |
100 | === modified file 'CMakeLists.txt' |
101 | --- CMakeLists.txt 2015-02-15 06:11:51 +0000 |
102 | +++ CMakeLists.txt 2015-02-18 19:37:38 +0000 |
103 | @@ -4,8 +4,8 @@ |
104 | |
105 | # version number |
106 | set(whiskermenu_version_major "1") |
107 | -set(whiskermenu_version_minor "4") |
108 | -set(whiskermenu_version_micro "3") |
109 | +set(whiskermenu_version_minor "5") |
110 | +set(whiskermenu_version_micro "0") |
111 | set(whiskermenu_version_tag "") |
112 | set(whiskermenu_version "${whiskermenu_version_major}.${whiskermenu_version_minor}.${whiskermenu_version_micro}") |
113 | if(${whiskermenu_version_tag} MATCHES "git") |
114 | |
115 | === removed file 'ChangeLog' |
116 | --- ChangeLog 2015-02-15 06:11:51 +0000 |
117 | +++ ChangeLog 1970-01-01 00:00:00 +0000 |
118 | @@ -1,2575 +0,0 @@ |
119 | -commit 202b8e30608987eb1d2ba607fad365b7f90b0d5b |
120 | -Author: Graeme Gott <graeme@gottcode.org> |
121 | -Date: 2015-02-14 |
122 | - |
123 | - Bump version number. |
124 | - |
125 | -commit 5ba062bb5ec6e51e7e5ce27f8d7ef5992d5be187 |
126 | -Author: Graeme Gott <graeme@gottcode.org> |
127 | -Date: 2015-02-14 |
128 | - |
129 | - Update copyright notice. |
130 | - |
131 | -commit fa298f52efd0ee9db7762bc2a47779e9c0759f8a |
132 | -Author: Graeme Gott <graeme@gottcode.org> |
133 | -Date: 2015-02-14 |
134 | - |
135 | - I18n: Update translation sk (98%). |
136 | - |
137 | -commit b50d3f4d6a471faaf47605221034e811ce8f3225 |
138 | -Author: Graeme Gott <graeme@gottcode.org> |
139 | -Date: 2015-02-14 |
140 | - |
141 | - I18n: Update translation ru (100%). |
142 | - |
143 | -commit 08196bc70e5c6487c2526b3d52c2aeb382275b4c |
144 | -Author: Graeme Gott <graeme@gottcode.org> |
145 | -Date: 2015-02-14 |
146 | - |
147 | - I18n: Update translation hu (92%). |
148 | - |
149 | -commit 5941eebf3f1f06d971a243a32b239bc6c8fc3e82 |
150 | -Author: Graeme Gott <graeme@gottcode.org> |
151 | -Date: 2015-02-14 |
152 | - |
153 | - I18n: Update translation fr (100%). |
154 | - |
155 | -commit ac868a30530ad896c182ef9a077d483181008ec4 |
156 | -Author: Graeme Gott <graeme@gottcode.org> |
157 | -Date: 2015-02-14 |
158 | - |
159 | - Fix hang at launch by removing load thread. |
160 | - |
161 | -commit 7911f7153c5b19753c8a070a61d37062f04162bc |
162 | -Author: Graeme Gott <graeme@gottcode.org> |
163 | -Date: 2015-01-10 |
164 | - |
165 | - FIXED: Did not save sorted favorites. |
166 | - |
167 | -commit 0932412af5cdb28b9d4eca3ed9125cd77bc98e81 |
168 | -Author: Graeme Gott <graeme@gottcode.org> |
169 | -Date: 2014-12-21 |
170 | - |
171 | - Bump version number. |
172 | - |
173 | -commit a9afecf7ee8e94d0489f1f7d33fa3983eec26d0d |
174 | -Author: Graeme Gott <graeme@gottcode.org> |
175 | -Date: 2014-12-18 |
176 | - |
177 | - I18n: Update translation he (98%). |
178 | - |
179 | -commit 45ba694354e751f824037ea102c9b65a811ebe36 |
180 | -Author: Graeme Gott <graeme@gottcode.org> |
181 | -Date: 2014-12-11 |
182 | - |
183 | - Fix panel button border not shown when pressed. |
184 | - |
185 | -commit c5f0d12c787d75e381427399e5ce4b2bc0f7e3c7 |
186 | -Author: Graeme Gott <graeme@gottcode.org> |
187 | -Date: 2014-12-10 |
188 | - |
189 | - I18n: Update translation sr (98%). |
190 | - |
191 | -commit 74120fb1293c3ec2681c196dfaf4089cc937910b |
192 | -Author: Graeme Gott <graeme@gottcode.org> |
193 | -Date: 2014-12-10 |
194 | - |
195 | - I18n: Update translation fr (100%). |
196 | - |
197 | -commit cb8c1c466e16e98805434fc17d953ee9ab0b4bef |
198 | -Author: Graeme Gott <graeme@gottcode.org> |
199 | -Date: 2014-12-10 |
200 | - |
201 | - Fixed command edits were editable when disabled. |
202 | - |
203 | -commit 42d072f26a2c3e5541cf59298f7c7fcd8664a945 |
204 | -Author: Graeme Gott <graeme@gottcode.org> |
205 | -Date: 2014-12-08 |
206 | - |
207 | - Fixed incorrectly disabled checkbox for commands position. |
208 | - |
209 | -commit aec577dc1c33ac1042bf86e73261c4a00c84c0f3 |
210 | -Author: Graeme Gott <graeme@gottcode.org> |
211 | -Date: 2014-12-08 |
212 | - |
213 | - Only allow commands next to search when next to panel button. |
214 | - |
215 | -commit ba5a8e09e5e2b89b5372b5f3f0a7bf6fcdaa5276 |
216 | -Author: Graeme Gott <graeme@gottcode.org> |
217 | -Date: 2014-12-05 |
218 | - |
219 | - Bump version number. |
220 | - |
221 | -commit be875ff706bab971c03e36857936e27cf67ef317 |
222 | -Author: Graeme Gott <graeme@gottcode.org> |
223 | -Date: 2014-11-21 |
224 | - |
225 | - Fix not using secure connection to Wikipedia. |
226 | - |
227 | -commit 3b0a6b8ab237c3cb0897adb87053b77bb4823620 |
228 | -Author: Graeme Gott <graeme@gottcode.org> |
229 | -Date: 2014-11-18 |
230 | - |
231 | - I18n: Update translation uz (100%). |
232 | - |
233 | -commit 4f65329f8fcf6eadbcefaf1a94e32321e6c72e38 |
234 | -Author: Graeme Gott <graeme@gottcode.org> |
235 | -Date: 2014-11-18 |
236 | - |
237 | - I18n: Update translation uk (100%). |
238 | - |
239 | -commit bfa58237fbf7a5b47595348f874246cc1d2e5cdd |
240 | -Author: Graeme Gott <graeme@gottcode.org> |
241 | -Date: 2014-11-18 |
242 | - |
243 | - I18n: Update translation tr (100%). |
244 | - |
245 | -commit a2c3db72bdbb7e3bb0d816e5f7cbc0c83ffcb4b0 |
246 | -Author: Graeme Gott <graeme@gottcode.org> |
247 | -Date: 2014-11-18 |
248 | - |
249 | - I18n: Update translation sv (100%). |
250 | - |
251 | -commit cb8b101f12704cfca9fd820bf1588cc00677b14f |
252 | -Author: Graeme Gott <graeme@gottcode.org> |
253 | -Date: 2014-11-18 |
254 | - |
255 | - I18n: Update translation ro (100%). |
256 | - |
257 | -commit 07382527425b50ec244667c41baf293de0f336bc |
258 | -Author: Graeme Gott <graeme@gottcode.org> |
259 | -Date: 2014-11-18 |
260 | - |
261 | - I18n: Update translation pl (100%). |
262 | - |
263 | -commit 3d168f797fa2255bfedec96d34ebc72a6513ce40 |
264 | -Author: Graeme Gott <graeme@gottcode.org> |
265 | -Date: 2014-11-18 |
266 | - |
267 | - I18n: Update translation nl (100%). |
268 | - |
269 | -commit 29f44777073d59c236938f0a763b92b7738944da |
270 | -Author: Graeme Gott <graeme@gottcode.org> |
271 | -Date: 2014-11-18 |
272 | - |
273 | - I18n: Update translation ne (100%). |
274 | - |
275 | -commit 9e64579ff50af6de5088e0fe7a281ae1cbff1a41 |
276 | -Author: Graeme Gott <graeme@gottcode.org> |
277 | -Date: 2014-11-18 |
278 | - |
279 | - I18n: Add translation lt (100%). |
280 | - |
281 | -commit a691b09b95a9196bf0e5dac89042d7b414c6f8f0 |
282 | -Author: Graeme Gott <graeme@gottcode.org> |
283 | -Date: 2014-11-18 |
284 | - |
285 | - I18n: Update translation kk (100%). |
286 | - |
287 | -commit 900417d52c995dc7a1dc0a69a878f28b8ec378f7 |
288 | -Author: Graeme Gott <graeme@gottcode.org> |
289 | -Date: 2014-11-18 |
290 | - |
291 | - I18n: Update translation id (100%). |
292 | - |
293 | -commit ae2d897775e60c893f3032e13371dfee2c30419a |
294 | -Author: Graeme Gott <graeme@gottcode.org> |
295 | -Date: 2014-11-18 |
296 | - |
297 | - I18n: Update translation fr (100%). |
298 | - |
299 | -commit 5c13185228b799cf7a0a4c8475417864e8b7fc81 |
300 | -Author: Graeme Gott <graeme@gottcode.org> |
301 | -Date: 2014-11-18 |
302 | - |
303 | - I18n: Update translation fi (100%). |
304 | - |
305 | -commit dd958a541bb8cf5e919126a5e11608447996694f |
306 | -Author: Graeme Gott <graeme@gottcode.org> |
307 | -Date: 2014-11-18 |
308 | - |
309 | - I18n: Update translation fa (100%). |
310 | - |
311 | -commit a9e090c99d99fe18d8e7011076481b058f016e86 |
312 | -Author: Graeme Gott <graeme@gottcode.org> |
313 | -Date: 2014-11-18 |
314 | - |
315 | - I18n: Add translation eu (8%). |
316 | - |
317 | -commit 209a8d0863b88ed26c8a353b3f582394ffd37437 |
318 | -Author: Graeme Gott <graeme@gottcode.org> |
319 | -Date: 2014-11-18 |
320 | - |
321 | - I18n: Update translation es (100%). |
322 | - |
323 | -commit ea2f2c4ea983fe789af41338515a73b56c015ff9 |
324 | -Author: Graeme Gott <graeme@gottcode.org> |
325 | -Date: 2014-11-18 |
326 | - |
327 | - I18n: Update translation el (100%). |
328 | - |
329 | -commit 98115f3283aed1641520ed0c5de9627bca9b036f |
330 | -Author: Graeme Gott <graeme@gottcode.org> |
331 | -Date: 2014-11-18 |
332 | - |
333 | - I18n: Update translation ast (97%). |
334 | - |
335 | -commit 3cb3e8864f7100949d12bdcaf3fdb327ec688b73 |
336 | -Author: Graeme Gott <graeme@gottcode.org> |
337 | -Date: 2014-11-18 |
338 | - |
339 | - Fix not searching descriptions unless shown. |
340 | - |
341 | -commit 6c8919e1a61c0e787a8798ea1f57ddcc4d72682a |
342 | -Author: Graeme Gott <graeme@gottcode.org> |
343 | -Date: 2014-11-18 |
344 | - |
345 | - Fix crash with invalid utf8 encoding. |
346 | - |
347 | -commit d354c96d6421d5e4b3eb9a155c3e813f84b11221 |
348 | -Author: Graeme Gott <graeme@gottcode.org> |
349 | -Date: 2014-06-25 |
350 | - |
351 | - Bump version number. |
352 | - |
353 | -commit 38ba0f356a4bee6cc56f7e00b490511daa0b1b16 |
354 | -Author: Graeme Gott <graeme@gottcode.org> |
355 | -Date: 2014-06-24 |
356 | - |
357 | - I18n: Update translation pl (100%). |
358 | - |
359 | -commit 6fe5dae22ea816c52a1476b2cd8633243c71a240 |
360 | -Author: Graeme Gott <graeme@gottcode.org> |
361 | -Date: 2014-06-24 |
362 | - |
363 | - I18n: Update translation fr (100%). |
364 | - |
365 | -commit 3226bd6d337fbc6b985574c3f37ba31720631e25 |
366 | -Author: Graeme Gott <graeme@gottcode.org> |
367 | -Date: 2014-06-19 |
368 | - |
369 | - I18n: Update translation sv (97%). |
370 | - |
371 | -commit b5a10802313a257ab4c19904873b6400f71deea0 |
372 | -Author: Graeme Gott <graeme@gottcode.org> |
373 | -Date: 2014-06-19 |
374 | - |
375 | - I18n: Update translation ca (97%). |
376 | - |
377 | -commit 7b39f86868603821e13c5c7c5e27e3f30f933684 |
378 | -Author: Graeme Gott <graeme@gottcode.org> |
379 | -Date: 2014-06-19 |
380 | - |
381 | - I18n: Update translation nl (100%). |
382 | - |
383 | -commit 1981c39cece80bfc23a12bd18c99c98286bcac77 |
384 | -Author: Graeme Gott <graeme@gottcode.org> |
385 | -Date: 2014-06-19 |
386 | - |
387 | - I18n: Update translation nb (100%). |
388 | - |
389 | -commit 80b4eee002cd104500e0ef90c255716a70baef5e |
390 | -Author: Graeme Gott <graeme@gottcode.org> |
391 | -Date: 2014-06-19 |
392 | - |
393 | - I18n: Update translation ms (100%). |
394 | - |
395 | -commit f290e6e871c413faf4d8c660833a1d8e6be4017b |
396 | -Author: Graeme Gott <graeme@gottcode.org> |
397 | -Date: 2014-06-19 |
398 | - |
399 | - I18n: Update translation ja (100%). |
400 | - |
401 | -commit 2124ee787ff3759265e27b74bec859e02de5af01 |
402 | -Author: Graeme Gott <graeme@gottcode.org> |
403 | -Date: 2014-06-19 |
404 | - |
405 | - I18n: Update translation it (100%). |
406 | - |
407 | -commit 319b75a85adb28889628ac37ae815dfee8a8443c |
408 | -Author: Graeme Gott <graeme@gottcode.org> |
409 | -Date: 2014-06-19 |
410 | - |
411 | - I18n: Update translation fr (100%). |
412 | - |
413 | -commit 9f63983c596d93f6c97f11aeffc5811a9126392a |
414 | -Author: Graeme Gott <graeme@gottcode.org> |
415 | -Date: 2014-06-06 |
416 | - |
417 | - I18n: Update translation he (98%). |
418 | - |
419 | -commit eda87f6115bf1d197d792a4d5206ba915a8b7295 |
420 | -Author: Graeme Gott <graeme@gottcode.org> |
421 | -Date: 2014-06-06 |
422 | - |
423 | - I18n: Update translation ru (100%). |
424 | - |
425 | -commit 3c62a18789fcd5dc70dc9e2ea404f8c16e53a347 |
426 | -Author: Graeme Gott <graeme@gottcode.org> |
427 | -Date: 2014-06-06 |
428 | - |
429 | - I18n: Update translation es (100%). |
430 | - |
431 | -commit 449dca79fa74def75c221f2faad56d97d4976160 |
432 | -Author: Graeme Gott <graeme@gottcode.org> |
433 | -Date: 2014-06-06 |
434 | - |
435 | - I18n: Update translation bg (100%). |
436 | - |
437 | -commit a2f69bdf00ab60fe7e35043ad2d4c7dd1764159c |
438 | -Author: Graeme Gott <graeme@gottcode.org> |
439 | -Date: 2014-06-05 |
440 | - |
441 | - I18n: Update translation zh_TW (100%). |
442 | - |
443 | -commit 35b30c829aa7b77ae0fb5c468b9e4a00ae1238f5 |
444 | -Author: Graeme Gott <graeme@gottcode.org> |
445 | -Date: 2014-06-05 |
446 | - |
447 | - I18n: Update translation sl (100%). |
448 | - |
449 | -commit bdee3018ff6446fde49c1ff60a30c88ff72f0555 |
450 | -Author: Graeme Gott <graeme@gottcode.org> |
451 | -Date: 2014-06-05 |
452 | - |
453 | - I18n: Update translation pt (100%). |
454 | - |
455 | -commit 7ef540d809a268fc4721df085fa0bbdb1f06bb7e |
456 | -Author: Graeme Gott <graeme@gottcode.org> |
457 | -Date: 2014-06-05 |
458 | - |
459 | - I18n: Update translation de (100%). |
460 | - |
461 | -commit 403ea6bb9a23e7b866caa4eca22851f3dd2b3ff5 |
462 | -Author: Graeme Gott <graeme@gottcode.org> |
463 | -Date: 2014-06-05 |
464 | - |
465 | - I18n: Update translation cs (100%). |
466 | - |
467 | -commit d264c5c7deeeac070b24f400f346859822ceafd4 |
468 | -Author: Graeme Gott <graeme@gottcode.org> |
469 | -Date: 2014-06-04 |
470 | - |
471 | - Update strings. |
472 | - |
473 | -commit 82cb5127990881d38253ba01837534fa4abb6b57 |
474 | -Author: Graeme Gott <graeme@gottcode.org> |
475 | -Date: 2014-05-02 |
476 | - |
477 | - Load applications immediately. Closes #86. |
478 | - |
479 | -commit 418e199556547ec7f59deb5488318aadee402eb2 |
480 | -Author: Graeme Gott <graeme@gottcode.org> |
481 | -Date: 2014-04-14 |
482 | - |
483 | - Add about entry to context menu. Closes #57. |
484 | - |
485 | -commit 317c9a2b59b1b0385efb940637d0fc251f215320 |
486 | -Author: Graeme Gott <graeme@gottcode.org> |
487 | -Date: 2014-04-08 |
488 | - |
489 | - Recognize keypad enter as return for searching. |
490 | - |
491 | -commit ed56be30dff9b1fc793611b67d1e6aef19cacea9 |
492 | -Author: Graeme Gott <graeme@gottcode.org> |
493 | -Date: 2014-03-25 |
494 | - |
495 | - I18n: Add translation zh_CN (100%). |
496 | - |
497 | -commit 4c4704962a30bfc6029e8386b3e2568c89a910e0 |
498 | -Author: Graeme Gott <graeme@gottcode.org> |
499 | -Date: 2014-03-18 |
500 | - |
501 | - Update news file. |
502 | - |
503 | -commit 2958c9fe0b7b150d121c19c875e7f99c245cf340 |
504 | -Author: Graeme Gott <graeme@gottcode.org> |
505 | -Date: 2014-03-14 |
506 | - |
507 | - I18n: Update translation zh_TW (100%). |
508 | - |
509 | -commit b5e7b337dc22efb6dcd053ef6436f1bce6be874f |
510 | -Author: Graeme Gott <graeme@gottcode.org> |
511 | -Date: 2014-03-14 |
512 | - |
513 | - I18n: Update translation vi (100%). |
514 | - |
515 | -commit e1bd0f492fdc30f7b64040a986126f820572e6ca |
516 | -Author: Graeme Gott <graeme@gottcode.org> |
517 | -Date: 2014-03-14 |
518 | - |
519 | - I18n: Add translation sl (100%). |
520 | - |
521 | -commit 2a3cdc1dd4c3f983574d5953eb88dcdc8912720b |
522 | -Author: Graeme Gott <graeme@gottcode.org> |
523 | -Date: 2014-03-14 |
524 | - |
525 | - I18n: Update translation pt_BR (100%). |
526 | - |
527 | -commit 545c08f74ebf6d47dbf115deb9208ecfde023b84 |
528 | -Author: Graeme Gott <graeme@gottcode.org> |
529 | -Date: 2014-03-14 |
530 | - |
531 | - I18n: Update translation ne (100%). |
532 | - |
533 | -commit 353fbf299f354456ab61d97f0b952fe06a556a91 |
534 | -Author: Graeme Gott <graeme@gottcode.org> |
535 | -Date: 2014-03-14 |
536 | - |
537 | - I18n: Update translation nb (100%). |
538 | - |
539 | -commit 09c59cf9395c41b6074dedf91b9f0456efcb860a |
540 | -Author: Graeme Gott <graeme@gottcode.org> |
541 | -Date: 2014-03-14 |
542 | - |
543 | - I18n: Add translation lv (100%). |
544 | - |
545 | -commit c12b41be389f8e3a5d2aa7a7eef0fe1088b06691 |
546 | -Author: Graeme Gott <graeme@gottcode.org> |
547 | -Date: 2014-03-14 |
548 | - |
549 | - I18n: Update translation hr (100%). |
550 | - |
551 | -commit 295ede17464cf4e445464161b441266c57a18364 |
552 | -Author: Graeme Gott <graeme@gottcode.org> |
553 | -Date: 2014-03-14 |
554 | - |
555 | - I18n: Update translation fi (100%). |
556 | - |
557 | -commit 773eacec8f30d8932e43780e634f5aa04909181c |
558 | -Author: Graeme Gott <graeme@gottcode.org> |
559 | -Date: 2014-03-14 |
560 | - |
561 | - I18n: Update translation ast (100%). |
562 | - |
563 | -commit 124fdca0d6ae069e6ded3780fe166679fd1cdc6e |
564 | -Author: Graeme Gott <graeme@gottcode.org> |
565 | -Date: 2014-03-14 |
566 | - |
567 | - I18n: Update translation da (100%). |
568 | - |
569 | -commit 72668c1d8ae4740ff992c1e889d871188efb2d1b |
570 | -Author: Graeme Gott <graeme@gottcode.org> |
571 | -Date: 2014-03-14 |
572 | - |
573 | - I18n: Update translation cs (100%). |
574 | - |
575 | -commit 4a9b2e51cffc377089d298d7834fc65bd2b2cc35 |
576 | -Author: Graeme Gott <graeme@gottcode.org> |
577 | -Date: 2014-03-14 |
578 | - |
579 | - I18n: Update translation ar (84%). |
580 | - |
581 | -commit 3c214f77c21ff00ef00df009ead36309cbcbf72a |
582 | -Author: Graeme Gott <graeme@gottcode.org> |
583 | -Date: 2014-03-12 |
584 | - |
585 | - Fixed crash when accessing null launcher in assert. |
586 | - |
587 | -commit 3644410487b04cbc51f1e5ad50297298a4dfc0aa |
588 | -Author: Kernc <kerncece@gmail.com> |
589 | -Date: 2014-01-23 |
590 | - |
591 | - Add padding to username. |
592 | - |
593 | -commit 8682cab3bf8e2d813e449693e0c7dfb468b9a2f7 |
594 | -Author: Graeme Gott <graeme@gottcode.org> |
595 | -Date: 2014-02-28 |
596 | - |
597 | - Fix menu flashing when button is pressed rapidly. Closes #75. |
598 | - |
599 | -commit bf8d5c3cb7299f69a1f2678d3f9be757111c600f |
600 | -Author: Graeme Gott <graeme@gottcode.org> |
601 | -Date: 2014-02-26 |
602 | - |
603 | - Fix unable to click command buttons with focus follows mouse. Closes #70. |
604 | - |
605 | -commit 038bb945cb59e729447ab84c68698945b4bdcbbe |
606 | -Author: Graeme Gott <graeme@gottcode.org> |
607 | -Date: 2014-02-25 |
608 | - |
609 | - Fix panel button icon alignment in deskbar mode. |
610 | - |
611 | -commit dd0ceb5858797e713cdf13fafdd0e964a029d47e |
612 | -Merge: a80a787 752f89b |
613 | -Author: Graeme Gott <graeme@gottcode.org> |
614 | -Date: 2014-02-22 |
615 | - |
616 | - Merge pull request #71 from kernc/window_type_dialog |
617 | - |
618 | - Set menu window type hint to DIALOG |
619 | - |
620 | -commit 752f89b80c1bc9f0c99bef67a2b22b2274f8d314 |
621 | -Author: Kernc <kerncece@gmail.com> |
622 | -Date: 2014-02-11 |
623 | - |
624 | - Set menu window type hint to DIALOG |
625 | - |
626 | - Some tiling window managers, like e.g. i3, rely on window type |
627 | - hint to determine whether to tile or float the window. |
628 | - Normal windows are usually tiled, and dialogs are more |
629 | - convenient floating. |
630 | - |
631 | -commit a80a7878940aaa19b82bdd93b2a3188793dbdbdc |
632 | -Author: Kernc <kerncece@gmail.com> |
633 | -Date: 2014-01-23 |
634 | - |
635 | - Add switching position of categories and launchers. Closes #44. |
636 | - |
637 | -commit 4d2737d66438de9a3179dd20633ce22291aeb990 |
638 | -Author: Kernc <kerncece@gmail.com> |
639 | -Date: 2014-01-23 |
640 | - |
641 | - Add waiting for grabs; allows modifier as shortcut. Closes #64. |
642 | - |
643 | -commit f44af509c56378a4678e7b251bebc1e451702839 |
644 | -Author: Graeme Gott <graeme@gottcode.org> |
645 | -Date: 2014-01-06 |
646 | - |
647 | - Update news file. |
648 | - |
649 | -commit cc3e05dfeca83799c5b589c3066440c49400d994 |
650 | -Author: Graeme Gott <graeme@gottcode.org> |
651 | -Date: 2014-01-06 |
652 | - |
653 | - I18n: Update translation vi (64%). |
654 | - |
655 | -commit b988950717cfdd63a337a4cb9f7cba4c4ac3a992 |
656 | -Author: Graeme Gott <graeme@gottcode.org> |
657 | -Date: 2014-01-05 |
658 | - |
659 | - I18n: Update translation ne (100%). |
660 | - |
661 | -commit 873c05ad9261286490c54b7e58f3e1da29a86ec0 |
662 | -Author: Graeme Gott <graeme@gottcode.org> |
663 | -Date: 2014-01-05 |
664 | - |
665 | - I18n: Update translation de (100%). |
666 | - |
667 | -commit c4336f9b58e1889167013fbabd62b42d6230e695 |
668 | -Author: Graeme Gott <graeme@gottcode.org> |
669 | -Date: 2014-01-05 |
670 | - |
671 | - I18n: Update translation pl (100%). |
672 | - |
673 | -commit 788b7b068509793395e38ec79ad1f8d767c9a6b6 |
674 | -Author: Graeme Gott <graeme@gottcode.org> |
675 | -Date: 2014-01-02 |
676 | - |
677 | - I18n: Update translation es (100%). |
678 | - |
679 | -commit bab5c00bda759f39bd4bbf64479dbfd2aa4a75e6 |
680 | -Author: Graeme Gott <graeme@gottcode.org> |
681 | -Date: 2014-01-02 |
682 | - |
683 | - Fix crash when menu items are changed. |
684 | - |
685 | -commit 1e83df70fa7f311c06efcdc2b8fff2caa2ca44b0 |
686 | -Author: Graeme Gott <graeme@gottcode.org> |
687 | -Date: 2013-12-30 |
688 | - |
689 | - I18n: Update translation ne (100%). |
690 | - |
691 | -commit 12c91735ddc50e622e480efebeb8df6b389a8a83 |
692 | -Author: Graeme Gott <graeme@gottcode.org> |
693 | -Date: 2013-12-30 |
694 | - |
695 | - I18n: Update translation uz (100%). |
696 | - |
697 | -commit b67bd05fd1421896ff7001acbd3899246060b72a |
698 | -Author: Graeme Gott <graeme@gottcode.org> |
699 | -Date: 2013-12-29 |
700 | - |
701 | - I18n: Update translation fr (100%). |
702 | - |
703 | -commit 252ef814d8061fe26e1c5e42eca811c19072e105 |
704 | -Merge: e0a7930 84e3f26 |
705 | -Author: Graeme Gott <graeme@gottcode.org> |
706 | -Date: 2013-12-29 |
707 | - |
708 | - Merge pull request #54 from andrzej-r/master |
709 | - |
710 | - Button layout fixes |
711 | - |
712 | -commit 84e3f26535e04c1e37cf02754ff1a161630a25ce |
713 | -Author: Andrzej <ndrwrdck@gmail.com> |
714 | -Date: 2013-12-29 |
715 | - |
716 | - Fixes to the button layout |
717 | - |
718 | - Mostly in vertical and deskbar mode. |
719 | - |
720 | -commit 314aa2f975e73150bf0933b87ac263c2aff0b2d4 |
721 | -Author: Andrzej <ndrwrdck@gmail.com> |
722 | -Date: 2013-12-29 |
723 | - |
724 | - Added "single panel row" option |
725 | - |
726 | -commit e0a7930b811f1186a13564366a29c48227633797 |
727 | -Author: Graeme Gott <graeme@gottcode.org> |
728 | -Date: 2013-12-29 |
729 | - |
730 | - Add git version number. |
731 | - |
732 | -commit 58f08321a46dd8704efbc6c2997b07c4be24e266 |
733 | -Author: Graeme Gott <graeme@gottcode.org> |
734 | -Date: 2013-12-29 |
735 | - |
736 | - Bump version number. |
737 | - |
738 | -commit 0b53e87c0b83c517e032673febea6c30635dd414 |
739 | -Author: Graeme Gott <graeme@gottcode.org> |
740 | -Date: 2013-12-29 |
741 | - |
742 | - Update string locations. |
743 | - |
744 | -commit 01fdd2e49aeead2b09451283eb00b4b908db18a8 |
745 | -Author: Graeme Gott <graeme@gottcode.org> |
746 | -Date: 2013-12-28 |
747 | - |
748 | - Tweak panel button layout. |
749 | - |
750 | -commit 0d56cb882ac0e265628e3104ae2e26d1e2f64a91 |
751 | -Author: Graeme Gott <graeme@gottcode.org> |
752 | -Date: 2013-12-15 |
753 | - |
754 | - Force panel icon size. |
755 | - |
756 | -commit 291814e370ff6eb1331eb59e6397244a8246a9bd |
757 | -Author: Graeme Gott <graeme@gottcode.org> |
758 | -Date: 2013-12-26 |
759 | - |
760 | - Fix sorting of search action matches. Closes #52. |
761 | - |
762 | -commit ce23ef3c031990f618b60d48b41d9cb6c198daa5 |
763 | -Author: Graeme Gott <graeme@gottcode.org> |
764 | -Date: 2013-12-26 |
765 | - |
766 | - I18n: Update translation ast (100%). |
767 | - |
768 | -commit 6b005ff8e786a5f756a0556bc3668fd273974a13 |
769 | -Author: Graeme Gott <graeme@gottcode.org> |
770 | -Date: 2013-12-26 |
771 | - |
772 | - I18n: Update translation fa (100%). |
773 | - |
774 | -commit 38113730862e3eee11b72b64a676f76e106aeeb7 |
775 | -Author: Graeme Gott <graeme@gottcode.org> |
776 | -Date: 2013-12-20 |
777 | - |
778 | - I18n: Update translation nb (100%). |
779 | - |
780 | -commit 5d0e5727498b2f19c6596594a20d1d2db28e36b9 |
781 | -Author: Graeme Gott <graeme@gottcode.org> |
782 | -Date: 2013-12-19 |
783 | - |
784 | - I18n: Update translation fr (96%). |
785 | - |
786 | -commit 2000c421988b6dde8457772122059106fd5587bc |
787 | -Author: Graeme Gott <graeme@gottcode.org> |
788 | -Date: 2013-12-19 |
789 | - |
790 | - I18n: Update translation pl (100%). |
791 | - |
792 | -commit bda051480f403bb4c1b7f72fac44aa6dcb07786c |
793 | -Author: Graeme Gott <graeme@gottcode.org> |
794 | -Date: 2013-12-17 |
795 | - |
796 | - I18n: Update translation kk (100%). |
797 | - |
798 | -commit 620ac0ec8912126ba39613a694ace943d28f2f9a |
799 | -Author: Graeme Gott <graeme@gottcode.org> |
800 | -Date: 2013-12-17 |
801 | - |
802 | - I18n: Update translation uz (69%). |
803 | - |
804 | -commit b28e3fef4f2c7012c2805f962d2041b66fe8f8cf |
805 | -Author: Graeme Gott <graeme@gottcode.org> |
806 | -Date: 2013-12-17 |
807 | - |
808 | - I18n: Update translation hu (82%). |
809 | - |
810 | -commit fcde97c021af7536d0a9fa13ecea5dfca28635b1 |
811 | -Author: Graeme Gott <graeme@gottcode.org> |
812 | -Date: 2013-12-17 |
813 | - |
814 | - I18n: Update translation es (91%). |
815 | - |
816 | -commit ccd83d5a13040da8ebba162d1ea34bfa3c74bca0 |
817 | -Author: Graeme Gott <graeme@gottcode.org> |
818 | -Date: 2013-12-17 |
819 | - |
820 | - I18n: Update translation ast (92%). |
821 | - |
822 | -commit 873806d290a62a47872c61df4ea8326908df56da |
823 | -Author: Graeme Gott <graeme@gottcode.org> |
824 | -Date: 2013-12-17 |
825 | - |
826 | - I18n: Update translation zh_TW (93%). |
827 | - |
828 | -commit 7569f231d468fdadf7712d527ff89d76c663dc04 |
829 | -Author: Graeme Gott <graeme@gottcode.org> |
830 | -Date: 2013-12-17 |
831 | - |
832 | - I18n: Update translation pl (100%). |
833 | - |
834 | -commit 6727cbe3bc001fd4b8d7d47440ab32f1203801f2 |
835 | -Author: Graeme Gott <graeme@gottcode.org> |
836 | -Date: 2013-12-15 |
837 | - |
838 | - I18n: Update translation ne (100%). |
839 | - |
840 | -commit 8889cc55bd56e186e2346eedeff650dfdbf4d0ce |
841 | -Author: Graeme Gott <graeme@gottcode.org> |
842 | -Date: 2013-12-14 |
843 | - |
844 | - Fix undefined behavior in slot parameter types. |
845 | - |
846 | -commit 443d4ab50ae475f750f8d985902d16b5cf3bcd98 |
847 | -Author: Graeme Gott <graeme@gottcode.org> |
848 | -Date: 2013-12-14 |
849 | - |
850 | - Fix undefined behavior in slot parameter counts. |
851 | - |
852 | -commit 2340c799cea8b19b7adb0a4b0a7a3cf733d4c21d |
853 | -Author: Graeme Gott <graeme@gottcode.org> |
854 | -Date: 2013-12-14 |
855 | - |
856 | - Fix undefined behavior in slot classes. |
857 | - |
858 | -commit 9406cffebfca586035ac5c38663844314e655422 |
859 | -Author: Graeme Gott <graeme@gottcode.org> |
860 | -Date: 2013-12-14 |
861 | - |
862 | - I18n: Update translation sr@latin (100%). |
863 | - |
864 | -commit efd56a88f3211cdcaba2f122d0738480b3138dd4 |
865 | -Author: Graeme Gott <graeme@gottcode.org> |
866 | -Date: 2013-12-13 |
867 | - |
868 | - I18n: Update translation ru (100%). |
869 | - |
870 | -commit c8b307c18f9074f843df608f193c0e3ec3f1f09b |
871 | -Author: Graeme Gott <graeme@gottcode.org> |
872 | -Date: 2013-12-13 |
873 | - |
874 | - Fix segfault when clicking on subcategory. |
875 | - |
876 | -commit 822fa9fc8d19fa52d33549d9722045db08dd2be4 |
877 | -Author: Graeme Gott <graeme@gottcode.org> |
878 | -Date: 2013-12-13 |
879 | - |
880 | - Add support for custom menu files. Closes #48. |
881 | - |
882 | -commit 2c449c586ef4a410725f3cd3f663e230cc7169d4 |
883 | -Author: Graeme Gott <graeme@gottcode.org> |
884 | -Date: 2013-12-13 |
885 | - |
886 | - I18n: Add translation sr (100%). |
887 | - |
888 | -commit 6452d7fe62cb1d3251cc7977acefe469289f386e |
889 | -Author: Graeme Gott <graeme@gottcode.org> |
890 | -Date: 2013-12-13 |
891 | - |
892 | - I18n: Update translation ms (100%). |
893 | - |
894 | -commit bbeb4285b21865fc4c8d260257338d1fb80d8722 |
895 | -Author: Graeme Gott <graeme@gottcode.org> |
896 | -Date: 2013-12-12 |
897 | - |
898 | - Prevent dragging search actions. |
899 | - |
900 | -commit c9f3b6eed1351a2da72c4b825321196fc70485da |
901 | -Author: Graeme Gott <graeme@gottcode.org> |
902 | -Date: 2013-12-11 |
903 | - |
904 | - Add dragging launchers to panel or desktop. Closes #36. |
905 | - |
906 | -commit 7c3262d02c15487b7b2cbc62d8948ecc8bb5ce93 |
907 | -Author: Graeme Gott <graeme@gottcode.org> |
908 | -Date: 2013-12-11 |
909 | - |
910 | - I18n: Update translation uk (100%). |
911 | - |
912 | -commit be958755266ef313e67868cbff82f5697afbd6bb |
913 | -Author: Graeme Gott <graeme@gottcode.org> |
914 | -Date: 2013-12-11 |
915 | - |
916 | - I18n: Update translation ne (100%). |
917 | - |
918 | -commit 60f4a9720a648b3ee0c75f2bb4bc422559f6d4a1 |
919 | -Author: Graeme Gott <graeme@gottcode.org> |
920 | -Date: 2013-12-10 |
921 | - |
922 | - Fix menu artifacts when switching categories. Closes #46. |
923 | - |
924 | -commit d2faa24c4f0bb800ad7f237425bb8ab661c0eda0 |
925 | -Author: Graeme Gott <graeme@gottcode.org> |
926 | -Date: 2013-12-10 |
927 | - |
928 | - I18n: Update translation de (100%). |
929 | - |
930 | -commit 7e102b8179b65d237ffb9740d90b596512fcc697 |
931 | -Author: Graeme Gott <graeme@gottcode.org> |
932 | -Date: 2013-12-10 |
933 | - |
934 | - I18n: Update translation ca (100%). |
935 | - |
936 | -commit 3949920fd7d8f402128548c40b471fc5bcd79c31 |
937 | -Author: Graeme Gott <graeme@gottcode.org> |
938 | -Date: 2013-12-09 |
939 | - |
940 | - I18n: Update translation tr (100%). |
941 | - |
942 | -commit 577c65f55e964a291c0d2e5b9425a256d2a923ba |
943 | -Author: Graeme Gott <graeme@gottcode.org> |
944 | -Date: 2013-12-09 |
945 | - |
946 | - I18n: Update translation bg (100%). |
947 | - |
948 | -commit 147da95d1c615fdfe0e79135ba8fd202737fd5ab |
949 | -Author: Graeme Gott <graeme@gottcode.org> |
950 | -Date: 2013-12-09 |
951 | - |
952 | - I18n: Update translation pl (100%). |
953 | - |
954 | -commit c2696f1cbe738c644627ac60ced7425c2af89965 |
955 | -Author: Graeme Gott <graeme@gottcode.org> |
956 | -Date: 2013-12-08 |
957 | - |
958 | - I18n: Update translation en_GB (100%). |
959 | - |
960 | -commit 54738f000014c18d9b1dbb7a8998c49ffcebbcc4 |
961 | -Author: Graeme Gott <graeme@gottcode.org> |
962 | -Date: 2013-12-08 |
963 | - |
964 | - I18n: Update translation pt (100%). |
965 | - |
966 | -commit 82ad1f6067d4081f063a5040c2b50026cd0a5a0b |
967 | -Author: Graeme Gott <graeme@gottcode.org> |
968 | -Date: 2013-12-08 |
969 | - |
970 | - I18n: Update translation ro (100%). |
971 | - |
972 | -commit 5f53d0c8df01202050f90c43bf4fb7fd9ec0671b |
973 | -Author: Graeme Gott <graeme@gottcode.org> |
974 | -Date: 2013-12-08 |
975 | - |
976 | - I18n: Update translation nl (100%). |
977 | - |
978 | -commit 07ef3f0704f69c8fa204ca028be755b421dbba83 |
979 | -Author: Graeme Gott <graeme@gottcode.org> |
980 | -Date: 2013-12-08 |
981 | - |
982 | - I18n: Update translation it (100%). |
983 | - |
984 | -commit 17fbdcc15ee56022006f02493a33651ff649475a |
985 | -Author: Graeme Gott <graeme@gottcode.org> |
986 | -Date: 2013-12-08 |
987 | - |
988 | - I18n: Update translation ja (100%). |
989 | - |
990 | -commit 1f85da7c2426e5b30fcbc09170a16255cca1c5f5 |
991 | -Author: Graeme Gott <graeme@gottcode.org> |
992 | -Date: 2013-12-08 |
993 | - |
994 | - I18n: Update translation sk (100%). |
995 | - |
996 | -commit 808bac833c66b51e1623e68a3170e0dec897f498 |
997 | -Author: Graeme Gott <graeme@gottcode.org> |
998 | -Date: 2013-12-08 |
999 | - |
1000 | - I18n: Update translation he (100%). |
1001 | - |
1002 | -commit d0c11e2563964aab38ddcf22cdcb6e31ec6d28ee |
1003 | -Author: Graeme Gott <graeme@gottcode.org> |
1004 | -Date: 2013-12-08 |
1005 | - |
1006 | - I18n: Update translation de (100%). |
1007 | - |
1008 | -commit 68a0010dfef3b1b89b77c4abb1dede1d0e235a52 |
1009 | -Author: Graeme Gott <graeme@gottcode.org> |
1010 | -Date: 2013-12-07 |
1011 | - |
1012 | - Update strings. |
1013 | - |
1014 | -commit 7d9f9f45c410d2e0f4b3ebcdc42b7d01bcd2286d |
1015 | -Author: Graeme Gott <graeme@gottcode.org> |
1016 | -Date: 2013-12-06 |
1017 | - |
1018 | - I18n: Add translation ne (100%). |
1019 | - |
1020 | -commit a393cc9230c2acf16a43b52081c74df06979ac11 |
1021 | -Author: Graeme Gott <graeme@gottcode.org> |
1022 | -Date: 2013-12-06 |
1023 | - |
1024 | - Support case sensitive run and search actions. |
1025 | - |
1026 | -commit b6aa55e2fd30e5dad7de4fbcd62058a9fb8396ad |
1027 | -Author: Graeme Gott <graeme@gottcode.org> |
1028 | -Date: 2013-12-05 |
1029 | - |
1030 | - Add running arbitrary programs in PATH. Closes #42. |
1031 | - |
1032 | -commit b80908eb0a70e461b0a522e73b6d8ecd21038fee |
1033 | -Author: Graeme Gott <graeme@gottcode.org> |
1034 | -Date: 2013-12-05 |
1035 | - |
1036 | - Unify interface for searching elements. |
1037 | - |
1038 | -commit f8e5be9ced34cea2aca8778d128457deb677b052 |
1039 | -Author: Graeme Gott <graeme@gottcode.org> |
1040 | -Date: 2013-12-04 |
1041 | - |
1042 | - Remember search actions. |
1043 | - |
1044 | -commit 3853a61f89b5670a959e487e88cdf66efc33fd36 |
1045 | -Author: Graeme Gott <graeme@gottcode.org> |
1046 | -Date: 2013-11-23 |
1047 | - |
1048 | - Add configuring search actions. |
1049 | - |
1050 | -commit 6ec86927e03db11fa39d12043596b72c539ecdfa |
1051 | -Author: Graeme Gott <graeme@gottcode.org> |
1052 | -Date: 2013-11-22 |
1053 | - |
1054 | - Add running search actions. |
1055 | - |
1056 | -commit f99c1906a84681ef51804bdd8f06bb4ab496edfe |
1057 | -Author: Graeme Gott <graeme@gottcode.org> |
1058 | -Date: 2013-11-22 |
1059 | - |
1060 | - Add search action class. |
1061 | - |
1062 | -commit 3bc137caf38f0c16019fe9a3a87c1f10a6d8d1c2 |
1063 | -Author: Graeme Gott <graeme@gottcode.org> |
1064 | -Date: 2013-11-21 |
1065 | - |
1066 | - Add support for running other types of elements. |
1067 | - |
1068 | -commit f2d60070d588f6f288b5afd97b62370d5771e2cd |
1069 | -Author: Graeme Gott <graeme@gottcode.org> |
1070 | -Date: 2013-12-04 |
1071 | - |
1072 | - Use empty file for saving settings. |
1073 | - |
1074 | -commit c7f255ed3f6752de6e6b40de4b4a3df6912af6d6 |
1075 | -Author: Graeme Gott <graeme@gottcode.org> |
1076 | -Date: 2013-12-03 |
1077 | - |
1078 | - Adjust packing of panel button label. |
1079 | - |
1080 | -commit ed94498dd2e575e0ac6aea0fce9fcd342d6a0f22 |
1081 | -Author: Graeme Gott <graeme@gottcode.org> |
1082 | -Date: 2013-12-03 |
1083 | - |
1084 | - Update news file. |
1085 | - |
1086 | -commit f01f352647d5e6276c47aabe7c4b076252e39fef |
1087 | -Author: Graeme Gott <graeme@gottcode.org> |
1088 | -Date: 2013-12-02 |
1089 | - |
1090 | - Use proper size request for small panels. |
1091 | - |
1092 | -commit d70125c58befdd0d715a9c6fe8e6defbf6048b23 |
1093 | -Author: Graeme Gott <graeme@gottcode.org> |
1094 | -Date: 2013-12-02 |
1095 | - |
1096 | - I18n: Update translation uk (100%). |
1097 | - |
1098 | -commit d9a9805b30d13e0d8a143ab129b0da1244275c5d |
1099 | -Author: Graeme Gott <graeme@gottcode.org> |
1100 | -Date: 2013-12-01 |
1101 | - |
1102 | - I18n: Update translation es (100%). |
1103 | - |
1104 | -commit 9c60540e499e12bb3f96ea549bc1d8bf968b9147 |
1105 | -Author: Graeme Gott <graeme@gottcode.org> |
1106 | -Date: 2013-12-01 |
1107 | - |
1108 | - I18n: Update translation ar (100%). |
1109 | - |
1110 | -commit 6e6aa9890192dc2c02dd94d35bc225d08e022107 |
1111 | -Author: Graeme Gott <graeme@gottcode.org> |
1112 | -Date: 2013-12-01 |
1113 | - |
1114 | - I18n: Update translation uk (62%). |
1115 | - |
1116 | -commit f0fb4bda3b6efd8184ea5089d2c2c1e1dd63f832 |
1117 | -Author: Graeme Gott <graeme@gottcode.org> |
1118 | -Date: 2013-11-24 |
1119 | - |
1120 | - Replace slot class functions with templates. |
1121 | - |
1122 | -commit 7f3b08099e9551f65060104f73d25f1513880d3b |
1123 | -Author: Graeme Gott <graeme@gottcode.org> |
1124 | -Date: 2013-11-21 |
1125 | - |
1126 | - Fix regression where commands were always shown. |
1127 | - |
1128 | -commit e403a7a73b3a01c4b9b47321a77f67ef0a969ab8 |
1129 | -Author: Graeme Gott <graeme@gottcode.org> |
1130 | -Date: 2013-11-20 |
1131 | - |
1132 | - Use an array for commands. |
1133 | - |
1134 | -commit 2277003b3c870b3ee3c8ebb114bac6528ad96d6d |
1135 | -Author: Graeme Gott <graeme@gottcode.org> |
1136 | -Date: 2013-11-20 |
1137 | - |
1138 | - Merge configuration dialog behavior tabs. |
1139 | - |
1140 | -commit fad8c07640e830bccfb053c442b3ac48ef2a3e85 |
1141 | -Author: Graeme Gott <graeme@gottcode.org> |
1142 | -Date: 2013-11-20 |
1143 | - |
1144 | - Rename option for showing generic application names. Closes #40. |
1145 | - |
1146 | -commit 4e159d67db87f388955dbfbed18cb97cf99c0590 |
1147 | -Author: Graeme Gott <graeme@gottcode.org> |
1148 | -Date: 2013-11-20 |
1149 | - |
1150 | - Rename option for showing menu hierarchy. References #40. |
1151 | - |
1152 | -commit 5948856da67bc1a28b94dde2f57c4136a0154d80 |
1153 | -Author: Graeme Gott <graeme@gottcode.org> |
1154 | -Date: 2013-11-20 |
1155 | - |
1156 | - Use a single row in Xfce 4.10 panel. Closes #39. |
1157 | - |
1158 | -commit 9b324693409065a615fbf41f6d567cd5015ac014 |
1159 | -Author: Graeme Gott <graeme@gottcode.org> |
1160 | -Date: 2013-11-20 |
1161 | - |
1162 | - I18n: Update translation de (100%). |
1163 | - |
1164 | -commit ba49a0fd07e9ceb383a2d931b769a112d9cc881c |
1165 | -Author: Graeme Gott <graeme@gottcode.org> |
1166 | -Date: 2013-11-20 |
1167 | - |
1168 | - Fix incorrect fetching of panel orientation in Xfce 4.10. Closes #37. |
1169 | - |
1170 | -commit 3d878da38aa50661f14667d7eece3ec85882b992 |
1171 | -Author: Graeme Gott <graeme@gottcode.org> |
1172 | -Date: 2013-11-20 |
1173 | - |
1174 | - Fix menu item icons colored by selection background. |
1175 | - |
1176 | -commit 2c56f1934a390367804e7301f57a6b9f62381212 |
1177 | -Author: Graeme Gott <graeme@gottcode.org> |
1178 | -Date: 2013-11-19 |
1179 | - |
1180 | - Fix unable to use custom commands with parameters. Closes #38. |
1181 | - |
1182 | -commit 8cbb8c94164507405b9df78fadeada6a02ee4c7e |
1183 | -Author: Graeme Gott <graeme@gottcode.org> |
1184 | -Date: 2013-11-19 |
1185 | - |
1186 | - Update news file. |
1187 | - |
1188 | -commit a66dd8b5900b01ed258922ed57078ab3fd8501b0 |
1189 | -Author: Graeme Gott <graeme@gottcode.org> |
1190 | -Date: 2013-11-19 |
1191 | - |
1192 | - I18n: Update translation hu (90%). |
1193 | - |
1194 | -commit 02ced55ad32d411feb46f3f3fc4cd9ed103f7320 |
1195 | -Author: Graeme Gott <graeme@gottcode.org> |
1196 | -Date: 2013-11-18 |
1197 | - |
1198 | - Replace search model code. |
1199 | - |
1200 | -commit c88573acf41467966e7148fa5fd4d657cc345e61 |
1201 | -Author: Graeme Gott <graeme@gottcode.org> |
1202 | -Date: 2013-11-19 |
1203 | - |
1204 | - Fix warning about missing parameter in Command::activated. |
1205 | - |
1206 | -commit f582d598118e3064f72a4923dd18bb4e7c56a645 |
1207 | -Author: Graeme Gott <graeme@gottcode.org> |
1208 | -Date: 2013-11-17 |
1209 | - |
1210 | - Add tips to README for popup script and compiz workaround. Closes #35. |
1211 | - |
1212 | -commit 28fe02b66a0fe8e03f99e87711e1a505a0ca2989 |
1213 | -Author: Graeme Gott <graeme@gottcode.org> |
1214 | -Date: 2013-11-17 |
1215 | - |
1216 | - Add window title to allow identifying menu window. References #35. |
1217 | - |
1218 | -commit 365429142136c42cdb72726c131ad64b0e555bba |
1219 | -Author: Graeme Gott <graeme@gottcode.org> |
1220 | -Date: 2013-11-16 |
1221 | - |
1222 | - I18n: Update translation fa (100%). |
1223 | - |
1224 | -commit c8f539dee6c9945a09bd75b480e5e377955213ce |
1225 | -Author: Graeme Gott <graeme@gottcode.org> |
1226 | -Date: 2013-11-16 |
1227 | - |
1228 | - I18n: Update translation sv (85%). |
1229 | - |
1230 | -commit 3a6c14adb92619bf76d4ffe01b07f29e987b4ade |
1231 | -Author: Graeme Gott <graeme@gottcode.org> |
1232 | -Date: 2013-11-15 |
1233 | - |
1234 | - Minor improvements to build system files. |
1235 | - |
1236 | - Allow disabling visibility. |
1237 | - Remove GTK type checks in release builds. |
1238 | - Check that all symbols are resolved in development builds. |
1239 | - |
1240 | -commit ae16209426f2912ed12f62120653d814399cf2e0 |
1241 | -Author: Graeme Gott <graeme@gottcode.org> |
1242 | -Date: 2013-11-15 |
1243 | - |
1244 | - Clean up includes. |
1245 | - |
1246 | -commit 7057110cfa3838b20f9dd2630403f328c4e1d512 |
1247 | -Author: Graeme Gott <graeme@gottcode.org> |
1248 | -Date: 2013-11-15 |
1249 | - |
1250 | - Don't set command twice. |
1251 | - |
1252 | -commit 630148a5f35212af75d53743ea49589c6e824f75 |
1253 | -Author: Graeme Gott <graeme@gottcode.org> |
1254 | -Date: 2013-11-14 |
1255 | - |
1256 | - Immediately hide or show commands. |
1257 | - |
1258 | -commit fb69d6c2a9d786fb248ee0540fc91bd1a464e77c |
1259 | -Author: Graeme Gott <graeme@gottcode.org> |
1260 | -Date: 2013-11-11 |
1261 | - |
1262 | - Only save settings when changed. |
1263 | - |
1264 | -commit c4bf1f123107044dc46322312c769e0a22046961 |
1265 | -Author: Graeme Gott <graeme@gottcode.org> |
1266 | -Date: 2013-11-11 |
1267 | - |
1268 | - Merge configuration dialog appearance tabs. |
1269 | - |
1270 | -commit 050ccb4212b670ab3567b3f4a0321c5e97785afa |
1271 | -Author: Graeme Gott <graeme@gottcode.org> |
1272 | -Date: 2013-11-11 |
1273 | - |
1274 | - Add command to switch users. |
1275 | - |
1276 | -commit d35af9be2891970f0e34a7ebbb194647aba5311e |
1277 | -Author: Graeme Gott <graeme@gottcode.org> |
1278 | -Date: 2013-11-10 |
1279 | - |
1280 | - Refactor code for editting commands. |
1281 | - |
1282 | -commit 8870e2e2e4dcc908737713ce69dc41331fc9dcca |
1283 | -Author: Graeme Gott <graeme@gottcode.org> |
1284 | -Date: 2013-11-10 |
1285 | - |
1286 | - Add support for hiding commands. |
1287 | - |
1288 | -commit c7c18104d0d0d6bf40d95ecc6c1d4bbd56c344f7 |
1289 | -Author: Graeme Gott <graeme@gottcode.org> |
1290 | -Date: 2013-11-10 |
1291 | - |
1292 | - Remove mnemonics fromn command tooltips. |
1293 | - |
1294 | -commit 773d4f84db56fe41f137c733cb6bb158cd85f572 |
1295 | -Author: Graeme Gott <graeme@gottcode.org> |
1296 | -Date: 2013-11-12 |
1297 | - |
1298 | - I18n: Add translation fa (25%). |
1299 | - |
1300 | -commit 8a7fa0a38e41dcb82129700ed13b8f2e5db4231a |
1301 | -Author: Graeme Gott <graeme@gottcode.org> |
1302 | -Date: 2013-11-12 |
1303 | - |
1304 | - I18n: Update translation zh_TW (100%). |
1305 | - |
1306 | -commit b3dc1c4e8426fe7a777506805db4b88c5ffde10d |
1307 | -Author: Graeme Gott <graeme@gottcode.org> |
1308 | -Date: 2013-11-09 |
1309 | - |
1310 | - I18n: Update translation de (100%). |
1311 | - |
1312 | -commit 68d8770fcb7713029e33da3f85a931ec286d7a37 |
1313 | -Author: Graeme Gott <graeme@gottcode.org> |
1314 | -Date: 2013-11-09 |
1315 | - |
1316 | - I18n: Update translation tr (100%). |
1317 | - |
1318 | -commit 49d3736d3626cf9693e46f1c78408fad03f5fc05 |
1319 | -Author: Graeme Gott <graeme@gottcode.org> |
1320 | -Date: 2013-11-09 |
1321 | - |
1322 | - I18n: Update translation ast (100%). |
1323 | - |
1324 | -commit 359118dd5f563db11ea32ad1f840a0a7e8eb7ae9 |
1325 | -Author: Graeme Gott <graeme@gottcode.org> |
1326 | -Date: 2013-11-07 |
1327 | - |
1328 | - Add options to hide category and launcher icons. |
1329 | - |
1330 | -commit 39a13c0b61aa1df3cea9375fffb4f70880f47683 |
1331 | -Author: Graeme Gott <graeme@gottcode.org> |
1332 | -Date: 2013-11-07 |
1333 | - |
1334 | - I18n: Add translation ast (14%). |
1335 | - |
1336 | -commit 9622124adff690021e9260eb9446a52d055339de |
1337 | -Author: Graeme Gott <graeme@gottcode.org> |
1338 | -Date: 2013-11-07 |
1339 | - |
1340 | - Add command to launch menu editor. |
1341 | - |
1342 | -commit 884f0f9de6f3d024a5eebf3174f13d1300d0e429 |
1343 | -Author: Graeme Gott <graeme@gottcode.org> |
1344 | -Date: 2013-11-07 |
1345 | - |
1346 | - Move management of commands into settings. |
1347 | - |
1348 | -commit d45525567d5d444ede1aaf6dfb4750adb5cf1578 |
1349 | -Author: Graeme Gott <graeme@gottcode.org> |
1350 | -Date: 2013-11-04 |
1351 | - |
1352 | - I18n: Update translation cs (100%). |
1353 | - |
1354 | -commit 044cf1b7a83842afc70edc758c3a9ad2dbe15052 |
1355 | -Author: Graeme Gott <graeme@gottcode.org> |
1356 | -Date: 2013-11-04 |
1357 | - |
1358 | - I18n: Update translation id (100%). |
1359 | - |
1360 | -commit 88b811937ace62cb7d35f1f202d5003042b79e68 |
1361 | -Author: Graeme Gott <graeme@gottcode.org> |
1362 | -Date: 2013-11-03 |
1363 | - |
1364 | - Defer loading applications until window is shown. |
1365 | - |
1366 | -commit 642bf9f8f545e910bcdb96cd59e0bb9d36067919 |
1367 | -Author: Graeme Gott <graeme@gottcode.org> |
1368 | -Date: 2013-11-03 |
1369 | - |
1370 | - Remove unnecessary reloading of applications. |
1371 | - |
1372 | -commit 0c6cf57b313fd9af82e0ba4eea4cf79d4e199b7b |
1373 | -Author: Graeme Gott <graeme@gottcode.org> |
1374 | -Date: 2013-11-02 |
1375 | - |
1376 | - Remove LauncherModel class. |
1377 | - |
1378 | -commit ad7adcbe0b095645e35ed7f1ca481da4fda7bd1c |
1379 | -Author: Graeme Gott <graeme@gottcode.org> |
1380 | -Date: 2013-11-02 |
1381 | - |
1382 | - Add support for loading default settings from a file. |
1383 | - |
1384 | -commit 520a61de521532c4ac23a7cb45b9127f011aa148 |
1385 | -Author: Graeme Gott <graeme@gottcode.org> |
1386 | -Date: 2013-11-02 |
1387 | - |
1388 | - Use a singleton for settings. |
1389 | - |
1390 | -commit 1038f86e56bb987f1ea873f0d71be3342c00e094 |
1391 | -Author: Graeme Gott <graeme@gottcode.org> |
1392 | -Date: 2013-11-01 |
1393 | - |
1394 | - Use a category for all applications. |
1395 | - |
1396 | -commit c364af9902f5c230494a7f827b7cef10d4f660a0 |
1397 | -Author: Graeme Gott <graeme@gottcode.org> |
1398 | -Date: 2013-11-01 |
1399 | - |
1400 | - Fix incorrect comparison for checking icon sizes. |
1401 | - |
1402 | -commit e7c411c5cef7fb8fa343fdfef6f48b08ba4d8864 |
1403 | -Author: Graeme Gott <graeme@gottcode.org> |
1404 | -Date: 2013-11-01 |
1405 | - |
1406 | - I18n: Add translation zh_TW (18%). |
1407 | - |
1408 | -commit 5f02bd02310b9f6d75721c13e3924bcc4dea909d |
1409 | -Author: Graeme Gott <graeme@gottcode.org> |
1410 | -Date: 2013-11-01 |
1411 | - |
1412 | - I18n: Update translation fr (100%). |
1413 | - |
1414 | -commit 66efb64ec1ab7d529f644b9ab7447f1f3cf2ff3a |
1415 | -Author: Graeme Gott <graeme@gottcode.org> |
1416 | -Date: 2013-10-31 |
1417 | - |
1418 | - Improve handling of translations. |
1419 | - |
1420 | -commit bc68a122cd8c9ad7cb57bb68218a559b0c6410ac |
1421 | -Author: Graeme Gott <graeme@gottcode.org> |
1422 | -Date: 2013-10-31 |
1423 | - |
1424 | - Change license notice style. |
1425 | - |
1426 | -commit dfe06fe0a428cbe5ba91b3d20fe3ca37b0b921e7 |
1427 | -Author: Graeme Gott <graeme@gottcode.org> |
1428 | -Date: 2013-10-31 |
1429 | - |
1430 | - Rearrange files to match standard layout of Xfce plugins. |
1431 | - |
1432 | -commit 87255c398372fb99d82316fe996710804c5165f8 |
1433 | -Author: Graeme Gott <graeme@gottcode.org> |
1434 | -Date: 2013-10-31 |
1435 | - |
1436 | - Rename PanelPlugin class to Plugin. |
1437 | - |
1438 | -commit c66e5e9fdbf1689872d32cc650100a6d38dd454d |
1439 | -Author: Graeme Gott <graeme@gottcode.org> |
1440 | -Date: 2013-10-31 |
1441 | - |
1442 | - Rename Menu class to Window. |
1443 | - |
1444 | -commit c6d46ff834f2d5336c15bd52ce20bebd6e658e52 |
1445 | -Author: Graeme Gott <graeme@gottcode.org> |
1446 | -Date: 2013-10-31 |
1447 | - |
1448 | - Improve build system. |
1449 | - |
1450 | -commit 1917692c8df898933ad0686a8cdb0e8d960e77b8 |
1451 | -Author: Graeme Gott <graeme@gottcode.org> |
1452 | -Date: 2013-10-30 |
1453 | - |
1454 | - Refactor command button. |
1455 | - |
1456 | -commit 0caab81d36f175d1c02201e1ad12dcbbbe04a0d1 |
1457 | -Author: Graeme Gott <graeme@gottcode.org> |
1458 | -Date: 2013-10-30 |
1459 | - |
1460 | - I18n: Update translation et (55%). |
1461 | - |
1462 | -commit 362a90e06e4b858398765e3da189da761eb3d4dc |
1463 | -Author: Graeme Gott <graeme@gottcode.org> |
1464 | -Date: 2013-10-30 |
1465 | - |
1466 | - I18n: Update translation ru (100%). |
1467 | - |
1468 | -commit 3d8e4df0c217821e7123f28ca3595cef2e92a736 |
1469 | -Author: Graeme Gott <graeme@gottcode.org> |
1470 | -Date: 2013-10-30 |
1471 | - |
1472 | - I18n: Update translation es (100%). |
1473 | - |
1474 | -commit e3047997536385ed46b52c7e668a26c5728ed084 |
1475 | -Author: Graeme Gott <graeme@gottcode.org> |
1476 | -Date: 2013-10-30 |
1477 | - |
1478 | - I18n: Update translation ca (100%). |
1479 | - |
1480 | -commit 7f81f417f49c501f4397fb06409051a8a7ecd9a1 |
1481 | -Author: Graeme Gott <graeme@gottcode.org> |
1482 | -Date: 2013-10-29 |
1483 | - |
1484 | - Bump version number. |
1485 | - |
1486 | -commit 46f72cee1f7b3ede1e2fa5878523fe7c34e0ae43 |
1487 | -Author: Graeme Gott <graeme@gottcode.org> |
1488 | -Date: 2013-10-29 |
1489 | - |
1490 | - Update French translation. |
1491 | - |
1492 | -commit 0e51731ce225c94547d4d4422d69983071869d66 |
1493 | -Author: Graeme Gott <graeme@gottcode.org> |
1494 | -Date: 2013-10-29 |
1495 | - |
1496 | - Add partial Estonian and Ukrainian translations. |
1497 | - |
1498 | -commit dc14f46d7a10cc99989b757fe008dd4bc3cb8362 |
1499 | -Author: Graeme Gott <graeme@gottcode.org> |
1500 | -Date: 2013-10-29 |
1501 | - |
1502 | - Disable command buttons for invalid user specified commands. |
1503 | - |
1504 | -commit 1f0a77c1a1d6d303f3451309ea334825e6b12414 |
1505 | -Author: Graeme Gott <graeme@gottcode.org> |
1506 | -Date: 2013-10-28 |
1507 | - |
1508 | - Update Brazilian Portuguese translation. |
1509 | - |
1510 | -commit c71005d67dc9ab2cec7f4d173b75bfec55d9346d |
1511 | -Author: Graeme Gott <graeme@gottcode.org> |
1512 | -Date: 2013-10-27 |
1513 | - |
1514 | - Update Danish translation. |
1515 | - |
1516 | -commit a9f7afbdbbb170b52a2d6bf0656301f8ee15cb10 |
1517 | -Author: Graeme Gott <graeme@gottcode.org> |
1518 | -Date: 2013-10-26 |
1519 | - |
1520 | - Update Malay translation. |
1521 | - |
1522 | -commit f5b3f85a43b986ffb85ce36eb4232fc3f1df6446 |
1523 | -Author: Graeme Gott <graeme@gottcode.org> |
1524 | -Date: 2013-10-26 |
1525 | - |
1526 | - Add Finnish translation. |
1527 | - |
1528 | -commit 0b2e8561cbc730c022f6a6e35e1ba0166fa861a9 |
1529 | -Author: Graeme Gott <graeme@gottcode.org> |
1530 | -Date: 2013-10-24 |
1531 | - |
1532 | - Update Russian translation. |
1533 | - |
1534 | -commit 87cefa62ee98d573a1225296c2cfbcfa9e0ed7c0 |
1535 | -Author: Graeme Gott <graeme@gottcode.org> |
1536 | -Date: 2013-10-21 |
1537 | - |
1538 | - Fix favorites and recent deleted when menu failed to load. |
1539 | - |
1540 | -commit 22fe3031282410aeee39d1398e753482a4ff15ee |
1541 | -Author: Graeme Gott <graeme@gottcode.org> |
1542 | -Date: 2013-10-22 |
1543 | - |
1544 | - Update Norwegian Bokmål translation. |
1545 | - |
1546 | -commit 7144529ae139c8314fec0acb4fdc1e32cf45f0b4 |
1547 | -Author: Graeme Gott <graeme@gottcode.org> |
1548 | -Date: 2013-10-21 |
1549 | - |
1550 | - Update Spanish translation. |
1551 | - |
1552 | -commit de68df7a3c14b74f59ac2e38981fceba497afffe |
1553 | -Author: Graeme Gott <graeme@gottcode.org> |
1554 | -Date: 2013-10-20 |
1555 | - |
1556 | - Update Bulgarian and Polish translations. |
1557 | - |
1558 | -commit a9a4dcb72285d94a9b9994aed903f2a02b40a3e3 |
1559 | -Author: Graeme Gott <graeme@gottcode.org> |
1560 | -Date: 2013-10-20 |
1561 | - |
1562 | - Add Serbian (Latin) translation. |
1563 | - |
1564 | -commit 6c885b0fe322bd7c88ecd2376ebdb0353ea22617 |
1565 | -Author: Graeme Gott <graeme@gottcode.org> |
1566 | -Date: 2013-10-19 |
1567 | - |
1568 | - Update Catalan, Dutch, German, Japanese, Russian, Uzbek translations. |
1569 | - |
1570 | -commit 3fa101f5f6d4cb7c28a227b915d70163fdf43514 |
1571 | -Author: Graeme Gott <graeme@gottcode.org> |
1572 | -Date: 2013-10-15 |
1573 | - |
1574 | - Only create subcategories when loading hierarchy. |
1575 | - |
1576 | -commit 27a09eb1118ca3e8d0e3e4d6b771b5e0308363e0 |
1577 | -Author: Graeme Gott <graeme@gottcode.org> |
1578 | -Date: 2013-10-15 |
1579 | - |
1580 | - Remove unnecessary flushing of garcon cache. |
1581 | - |
1582 | -commit 78c69fed938b948cc984af4fa2db2a5e57301621 |
1583 | -Author: Graeme Gott <graeme@gottcode.org> |
1584 | -Date: 2013-10-15 |
1585 | - |
1586 | - Fix memory leak when reloading applications. |
1587 | - |
1588 | -commit 177a131d8e7955f6d56ce0c9b74fb0e741bd0a10 |
1589 | -Author: Graeme Gott <graeme@gottcode.org> |
1590 | -Date: 2013-10-15 |
1591 | - |
1592 | - Update Hebrew translation. |
1593 | - |
1594 | -commit f762dca5e8fd044c1a3c9d55fa568554288a6d8e |
1595 | -Author: Graeme Gott <graeme@gottcode.org> |
1596 | -Date: 2013-10-13 |
1597 | - |
1598 | - Add Croatian translation. |
1599 | - |
1600 | -commit 990e67108bafc88b5349a40006e5b56c1a0218e1 |
1601 | -Author: Graeme Gott <graeme@gottcode.org> |
1602 | -Date: 2013-10-13 |
1603 | - |
1604 | - Update Italian translation. |
1605 | - |
1606 | -commit dc793268a53e270dbd3638aa4de084adbe45c67e |
1607 | -Author: Graeme Gott <graeme@gottcode.org> |
1608 | -Date: 2013-10-10 |
1609 | - |
1610 | - Update Romanian and Spanish translations. |
1611 | - |
1612 | -commit cefdaeb323ce289de6733e71dfb911333b88e9b2 |
1613 | -Author: Graeme Gott <graeme@gottcode.org> |
1614 | -Date: 2013-10-10 |
1615 | - |
1616 | - Update Hebrew, Portuguese, Slovak, Uzbek translations. |
1617 | - |
1618 | -commit 624c3b087de41a5f3b28174ededeaddc859ca9d2 |
1619 | -Author: Graeme Gott <graeme@gottcode.org> |
1620 | -Date: 2013-10-10 |
1621 | - |
1622 | - Add man page for popup script. |
1623 | - |
1624 | -commit 6189b126d68577035727c31b8f6df6cc43aca398 |
1625 | -Author: Graeme Gott <graeme@gottcode.org> |
1626 | -Date: 2013-10-09 |
1627 | - |
1628 | - Update strings. |
1629 | - |
1630 | -commit 7c2b461b3b92895ed878ea12323667ee9d107a74 |
1631 | -Author: Graeme Gott <graeme@gottcode.org> |
1632 | -Date: 2013-10-09 |
1633 | - |
1634 | - Make sure tab labels are translated. |
1635 | - |
1636 | -commit 42d5da33950ced5eeccdc5016f237d3d3231e407 |
1637 | -Author: Graeme Gott <graeme@gottcode.org> |
1638 | -Date: 2013-10-09 |
1639 | - |
1640 | - Update popup to show correct version information. |
1641 | - |
1642 | -commit 48300ac080bd34848026ce57d5c3130cae4f11da |
1643 | -Author: Graeme Gott <graeme@gottcode.org> |
1644 | -Date: 2013-10-09 |
1645 | - |
1646 | - Add option to position command buttons next to search entry. |
1647 | - |
1648 | -commit 3b9e61cf4ddfb77f0b31167629fbede4c66739fa |
1649 | -Author: Graeme Gott <graeme@gottcode.org> |
1650 | -Date: 2013-10-09 |
1651 | - |
1652 | - Add option to position search entry next to panel button. Closes #27. |
1653 | - |
1654 | -commit 0c0fd174f25e8c5eb98b38207339bffd90cffa36 |
1655 | -Author: Graeme Gott <graeme@gottcode.org> |
1656 | -Date: 2013-10-09 |
1657 | - |
1658 | - Add option to display recently used by default. Closes #30. |
1659 | - |
1660 | -commit 2e574172afd8407cd938127b3ad2fde325f62b62 |
1661 | -Author: Graeme Gott <graeme@gottcode.org> |
1662 | -Date: 2013-10-08 |
1663 | - |
1664 | - Remember custom commands. |
1665 | - |
1666 | -commit 0f21215a649543292d24130cc103edf18194ec1b |
1667 | -Author: Graeme Gott <graeme@gottcode.org> |
1668 | -Date: 2013-10-08 |
1669 | - |
1670 | - Add options to set custom commands. Closes #25. |
1671 | - |
1672 | -commit c41c9f55686a521f7c0c9b834b2e8070e8392ce4 |
1673 | -Author: Graeme Gott <graeme@gottcode.org> |
1674 | -Date: 2013-09-22 |
1675 | - |
1676 | - Update Catalan and Spanish translations. |
1677 | - |
1678 | -commit 10cc4aa6e76a0c3405c442bf6e413d49373181f0 |
1679 | -Author: Graeme Gott <graeme@gottcode.org> |
1680 | -Date: 2013-09-22 |
1681 | - |
1682 | - Use tabs for configuration dialog layout. |
1683 | - |
1684 | -commit 0a01dcb26e746c638c0ff90fc8ff1c543284ab6d |
1685 | -Author: Graeme Gott <graeme@gottcode.org> |
1686 | -Date: 2013-09-20 |
1687 | - |
1688 | - Add option to not include favorites in recently used. |
1689 | - |
1690 | -commit 3d1f843bfab4f2a1452f56da8dbf13f81eb95c2b |
1691 | -Author: Graeme Gott <graeme@gottcode.org> |
1692 | -Date: 2013-08-24 |
1693 | - |
1694 | - Update Greek translation. |
1695 | - |
1696 | -commit 2e262a3764e2e91174e3f29c4eb20440cb7db7f9 |
1697 | -Author: Graeme Gott <graeme@gottcode.org> |
1698 | -Date: 2013-08-21 |
1699 | - |
1700 | - Add Czech translation. |
1701 | - |
1702 | -commit 33901483d7c7b71687df0578944fb41856539870 |
1703 | -Author: Graeme Gott <graeme@gottcode.org> |
1704 | -Date: 2013-08-20 |
1705 | - |
1706 | - Only use tree models when necessary. |
1707 | - |
1708 | -commit 7ede4fc47100ceca63cd40da365555825c2db0cd |
1709 | -Author: Graeme Gott <graeme@gottcode.org> |
1710 | -Date: 2013-08-20 |
1711 | - |
1712 | - Fix crash with multi-level subcategories. |
1713 | - |
1714 | -commit 6d7f9bae47bda118763b6a622e4de836a4482233 |
1715 | -Author: Graeme Gott <graeme@gottcode.org> |
1716 | -Date: 2013-08-14 |
1717 | - |
1718 | - Add Uzbek translation. |
1719 | - |
1720 | -commit 2f19d3258c0ce2eb4dfaca4cc8b1f26784886e70 |
1721 | -Author: Graeme Gott <graeme@gottcode.org> |
1722 | -Date: 2013-08-14 |
1723 | - |
1724 | - Update Japanese translation. |
1725 | - |
1726 | -commit b14aa5dff3b4509959bebeac189f1e35fdec683c |
1727 | -Author: Graeme Gott <graeme@gottcode.org> |
1728 | -Date: 2013-08-13 |
1729 | - |
1730 | - Allow pango markup in launcher title. Closes #28. |
1731 | - |
1732 | -commit e03bea00a00d262dcffc31e1311760b27a136ed7 |
1733 | -Author: Graeme Gott <graeme@gottcode.org> |
1734 | -Date: 2013-08-08 |
1735 | - |
1736 | - Update news file. |
1737 | - |
1738 | -commit 1a79fa717c1a26d6bb5704df9352ec5f38395407 |
1739 | -Author: Graeme Gott <graeme@gottcode.org> |
1740 | -Date: 2013-08-08 |
1741 | - |
1742 | - Update Arabic translation. |
1743 | - |
1744 | -commit 944761b0c7fa98083683b752184f2e4f1a8e68bf |
1745 | -Author: Graeme Gott <graeme@gottcode.org> |
1746 | -Date: 2013-08-08 |
1747 | - |
1748 | - Build as module. |
1749 | - |
1750 | -commit c1b3ec6717780ddd9087810840cd27f08c641857 |
1751 | -Author: Graeme Gott <graeme@gottcode.org> |
1752 | -Date: 2013-08-07 |
1753 | - |
1754 | - Update Catalan and Spanish translations. |
1755 | - |
1756 | -commit 0ace36cf1c01ec5f7d33df7803fdeced547117fd |
1757 | -Author: Graeme Gott <graeme@gottcode.org> |
1758 | -Date: 2013-08-01 |
1759 | - |
1760 | - Collapse tree when switching categories. |
1761 | - |
1762 | -commit 413eb752a7098aecbfe2f9dbcf0f48cfa4a624c7 |
1763 | -Author: Graeme Gott <graeme@gottcode.org> |
1764 | -Date: 2013-08-01 |
1765 | - |
1766 | - Add option to load menu hierarchy. |
1767 | - |
1768 | -commit ffa1d1d906fd8dc8603eaa186fd47ab75a6360d7 |
1769 | -Author: Graeme Gott <graeme@gottcode.org> |
1770 | -Date: 2013-07-29 |
1771 | - |
1772 | - Add support for separators. |
1773 | - |
1774 | -commit f905c1e8c7a51533aab5988cab42b6977c1a814b |
1775 | -Author: Graeme Gott <graeme@gottcode.org> |
1776 | -Date: 2013-07-29 |
1777 | - |
1778 | - Use STL to sort items and categories. |
1779 | - |
1780 | -commit 711907edbab6679962d45b985797c20327cec40b |
1781 | -Author: Graeme Gott <graeme@gottcode.org> |
1782 | -Date: 2013-08-01 |
1783 | - |
1784 | - Derive category and launcher from shared class. |
1785 | - |
1786 | -commit 00d5b608fd2c3a0926d57fc6e330b0a554b9e538 |
1787 | -Author: Graeme Gott <graeme@gottcode.org> |
1788 | -Date: 2013-07-29 |
1789 | - |
1790 | - Derive search page from page. |
1791 | - |
1792 | -commit 5f911c32b00fcf44073b38c75d43194e78098ee4 |
1793 | -Author: Graeme Gott <graeme@gottcode.org> |
1794 | -Date: 2013-07-20 |
1795 | - |
1796 | - Derive applications page from page. |
1797 | - |
1798 | -commit 1eae68076e4530b167e00a004f27d2236db92222 |
1799 | -Author: Graeme Gott <graeme@gottcode.org> |
1800 | -Date: 2013-07-20 |
1801 | - |
1802 | - Add models to categories. |
1803 | - |
1804 | -commit f74b9cfdad130a668cae4591e5859815700b7bbc |
1805 | -Author: Graeme Gott <graeme@gottcode.org> |
1806 | -Date: 2013-08-02 |
1807 | - |
1808 | - Update Catalan translation. |
1809 | - |
1810 | -commit 6bcc6f5b3fcad3ef7c72994ea415b78b26840bc7 |
1811 | -Author: Graeme Gott <graeme@gottcode.org> |
1812 | -Date: 2013-08-01 |
1813 | - |
1814 | - Update Indonesian and Russian translations. |
1815 | - |
1816 | -commit 69dfc84af0fd58d5216ff3a39235c6fc4e839c1f |
1817 | -Author: Graeme Gott <graeme@gottcode.org> |
1818 | -Date: 2013-07-30 |
1819 | - |
1820 | - Update Spanish translation. |
1821 | - |
1822 | -commit 0c5ab25c774e78610617028317522c2cc05426cc |
1823 | -Author: Graeme Gott <graeme@gottcode.org> |
1824 | -Date: 2013-07-29 |
1825 | - |
1826 | - Update Malay translation. |
1827 | - |
1828 | -commit dc77561a6b5c9e601d3fa83a8c92e23708453536 |
1829 | -Author: Graeme Gott <graeme@gottcode.org> |
1830 | -Date: 2013-07-28 |
1831 | - |
1832 | - Update Spanish translation. |
1833 | - |
1834 | -commit 915a35b9e0bb5a6852e0d8cc94a7960a0d8b49ae |
1835 | -Author: Graeme Gott <graeme@gottcode.org> |
1836 | -Date: 2013-07-26 |
1837 | - |
1838 | - Add name to main widget to allow styling. Closes #14. |
1839 | - |
1840 | -commit 71ae563f8c6344695e4dbca0d5a58123c52d9fb7 |
1841 | -Author: Graeme Gott <graeme@gottcode.org> |
1842 | -Date: 2013-07-26 |
1843 | - |
1844 | - Update French translation. |
1845 | - |
1846 | -commit 915b5ae7b09a61c1ffd0c2eee811b4ea87f54578 |
1847 | -Author: Graeme Gott <graeme@gottcode.org> |
1848 | -Date: 2013-07-25 |
1849 | - |
1850 | - Add Japanese translation. |
1851 | - |
1852 | -commit fcac7b029edb267c0e93e41f6cafa34afc1dbb2a |
1853 | -Author: Graeme Gott <graeme@gottcode.org> |
1854 | -Date: 2013-07-25 |
1855 | - |
1856 | - Update Russian translation. |
1857 | - |
1858 | -commit 36eb321e23b9693ddfe05b63be4a46738017623b |
1859 | -Author: Graeme Gott <graeme@gottcode.org> |
1860 | -Date: 2013-07-24 |
1861 | - |
1862 | - Bump version number. |
1863 | - |
1864 | -commit 431ee92e52b5c5013356e76737e172239cd3e992 |
1865 | -Author: Graeme Gott <graeme@gottcode.org> |
1866 | -Date: 2013-07-24 |
1867 | - |
1868 | - Update Indonesian translation. |
1869 | - |
1870 | -commit 7a581559675635d401340bf2d6dd8b5e792339f6 |
1871 | -Author: Graeme Gott <graeme@gottcode.org> |
1872 | -Date: 2013-07-24 |
1873 | - |
1874 | - Add Hungarian translation. |
1875 | - |
1876 | -commit d7d8a16349e7ab6ddbef1d2741c2f29db70937a0 |
1877 | -Author: Graeme Gott <graeme@gottcode.org> |
1878 | -Date: 2013-07-24 |
1879 | - |
1880 | - Update Swedish translation. |
1881 | - |
1882 | -commit f21ab68471845d6c3a61518b6cc0b2b2b97d816a |
1883 | -Author: Graeme Gott <graeme@gottcode.org> |
1884 | -Date: 2013-07-22 |
1885 | - |
1886 | - Update Portugese translation. |
1887 | - |
1888 | -commit 6a096c2a136fc38387b0087e9fd425b093955ba1 |
1889 | -Author: Graeme Gott <graeme@gottcode.org> |
1890 | -Date: 2013-07-20 |
1891 | - |
1892 | - Fix not showing items with duplicate text. Closes #22. |
1893 | - |
1894 | -commit 993de8fd07bc017e2dda79ce50248c97d3feb967 |
1895 | -Author: Graeme Gott <graeme@gottcode.org> |
1896 | -Date: 2013-07-19 |
1897 | - |
1898 | - Fix duplicate all applications sidebar button. |
1899 | - |
1900 | -commit 056da7f9f95ad986bbcb9d676f1ade01acb4b241 |
1901 | -Author: Graeme Gott <graeme@gottcode.org> |
1902 | -Date: 2013-07-19 |
1903 | - |
1904 | - Add Danish translation. |
1905 | - |
1906 | -commit e2a3c159570a7382837cf1956371794388a55b2c |
1907 | -Author: Graeme Gott <graeme@gottcode.org> |
1908 | -Date: 2013-07-19 |
1909 | - |
1910 | - Move category out of applications page. |
1911 | - |
1912 | -commit ded8f71e7253ccc7ab11adcb2e2975718ce6f270 |
1913 | -Author: Graeme Gott <graeme@gottcode.org> |
1914 | -Date: 2013-07-19 |
1915 | - |
1916 | - Remove duplicate scroll to top code. |
1917 | - |
1918 | -commit af22962c0003bc4a3e1257277b48da4693da94e7 |
1919 | -Author: Fábio Luciano <fabio@naoimporta.com> |
1920 | -Date: 2013-07-18 |
1921 | - |
1922 | - Add portuguese translation on .desktop file and fix translation |
1923 | - |
1924 | -commit 50d46612201326c90236098172fb18bb063bd6b6 |
1925 | -Author: Fábio Luciano <fabio@naoimporta.com> |
1926 | -Date: 2013-07-18 |
1927 | - |
1928 | - Added translations to Brazilian Portuguese and Portugal Portuguese, also a correction on Espanish translation. |
1929 | - |
1930 | -commit 0a57ed64289edb6cb9633d03e627f19f1aa4c0c2 |
1931 | -Author: Graeme Gott <graeme@gottcode.org> |
1932 | -Date: 2013-07-18 |
1933 | - |
1934 | - Fix pango errors. |
1935 | - |
1936 | -commit f58c147ff53e2062670fc4ba78c507606228157e |
1937 | -Author: Graeme Gott <graeme@gottcode.org> |
1938 | -Date: 2013-07-18 |
1939 | - |
1940 | - Fix filter applied when button is deselected. |
1941 | - |
1942 | -commit 2512af91fdb12f52bb626a770433ed3acf3574ca |
1943 | -Author: Baurzhan Muftakhidinov <baurthefirst@gmail.com> |
1944 | -Date: 2013-07-18 |
1945 | - |
1946 | - Updated Kazakh translation. |
1947 | - |
1948 | -commit d50bf7c0cfc201023f04eb51818569d95abdd0a5 |
1949 | -Author: Graeme Gott <graeme@gottcode.org> |
1950 | -Date: 2013-07-18 |
1951 | - |
1952 | - Update Norwegian Bokmål translation. |
1953 | - |
1954 | -commit 9fee2135e341e2b98d8f55b6af28d624f9324100 |
1955 | -Author: hasufell <julian.ospald@googlemail.com> |
1956 | -Date: 2013-07-18 |
1957 | - |
1958 | - BUILD: reorder flags |
1959 | - |
1960 | - This enables environment overrides without the need |
1961 | - for patching such as -fno-visibility=hidden. |
1962 | - |
1963 | -commit 504888759e8f30ee6c2919e31a4c77056a562367 |
1964 | -Author: hasufell <julian.ospald@googlemail.com> |
1965 | -Date: 2013-07-18 |
1966 | - |
1967 | - BUILD: don't overwrite env ldflags and make as-needed optional |
1968 | - |
1969 | -commit c1907db50b334e0c4394d20cb586995ff197ef37 |
1970 | -Author: hasufell <julian.ospald@googlemail.com> |
1971 | -Date: 2013-07-18 |
1972 | - |
1973 | - BUILD: make -Werror optional |
1974 | - |
1975 | - -Werror can break the build in so many ways that it |
1976 | - should only be used for development or if it's a specific |
1977 | - -Werror=foo flag. |
1978 | - |
1979 | -commit 04f162ddd9660119050e232b3893d1fcf7942fe7 |
1980 | -Author: Graeme Gott <graeme@gottcode.org> |
1981 | -Date: 2013-07-16 |
1982 | - |
1983 | - Update Norwegian Bokmål and Polish translations. |
1984 | - |
1985 | -commit 962e14ce96412e9a09347f9dfe693dc1cb245b81 |
1986 | -Author: Graeme Gott <graeme@gottcode.org> |
1987 | -Date: 2013-07-15 |
1988 | - |
1989 | - Update Hebrew and Norwegian Bokmål translations. |
1990 | - |
1991 | -commit 7d9926083da80ddab4da6df35afc188bf6f5c41d |
1992 | -Author: Graeme Gott <graeme@gottcode.org> |
1993 | -Date: 2013-07-15 |
1994 | - |
1995 | - Stop unnecessarily tracking pointer motion. |
1996 | - |
1997 | -commit 18ad19b8f885804b282ec2f88e78b163189101ed |
1998 | -Author: Graeme Gott <graeme@gottcode.org> |
1999 | -Date: 2013-07-15 |
2000 | - |
2001 | - Fix context menu disabling detection of clicks outside menu. |
2002 | - |
2003 | -commit 5532d21325374198a978046de10350c323721246 |
2004 | -Author: Graeme Gott <graeme@gottcode.org> |
2005 | -Date: 2013-07-15 |
2006 | - |
2007 | - Fix menu not hiding when configuration dialog is clicked. |
2008 | - |
2009 | -commit 3453311365d4390179fc9c408c903da35bcaab0d |
2010 | -Author: Graeme Gott <graeme@gottcode.org> |
2011 | -Date: 2013-07-15 |
2012 | - |
2013 | - Clear search results when releasing menu items. |
2014 | - |
2015 | -commit b00ced8e7a065e9cb647d45116b44bbdab4c579c |
2016 | -Author: Graeme Gott <graeme@gottcode.org> |
2017 | -Date: 2013-07-14 |
2018 | - |
2019 | - Update German translation. |
2020 | - |
2021 | -commit 22ca7de7757f9593522c7bc0db07340afd69f602 |
2022 | -Author: Graeme Gott <graeme@gottcode.org> |
2023 | -Date: 2013-07-14 |
2024 | - |
2025 | - Fix focus selection not properly reset when switching categories. |
2026 | - |
2027 | -commit c7e13e5780899702df83bbb8f168374fdfba7d4e |
2028 | -Author: Graeme Gott <graeme@gottcode.org> |
2029 | -Date: 2013-07-14 |
2030 | - |
2031 | - Update German and Turkish translations. |
2032 | - |
2033 | -commit fa5e92e1c882a06caf108dbf826edce6a9b34764 |
2034 | -Author: Graeme Gott <graeme@gottcode.org> |
2035 | -Date: 2013-07-14 |
2036 | - |
2037 | - Fixed hang at launch when there are too many recent items. |
2038 | - |
2039 | -commit d9b9e0baf2c05b6c452dccf451a66e2511dc1850 |
2040 | -Author: Graeme Gott <graeme@gottcode.org> |
2041 | -Date: 2013-07-14 |
2042 | - |
2043 | - Sort all matches in names above matches in executables. |
2044 | - |
2045 | -commit 449c2f0266a6bc6a182f4e19e46a748693b52195 |
2046 | -Author: Graeme Gott <graeme@gottcode.org> |
2047 | -Date: 2013-07-14 |
2048 | - |
2049 | - Make rows be fixed height. |
2050 | - |
2051 | -commit 1e82cccab4a2c2a179fa0c9a6eab09516da0f045 |
2052 | -Author: Graeme Gott <graeme@gottcode.org> |
2053 | -Date: 2013-07-14 |
2054 | - |
2055 | - Move search results out of launcher. |
2056 | - |
2057 | -commit 7eb290b6f8dace93d4554f201dcddee657703557 |
2058 | -Author: Graeme Gott <graeme@gottcode.org> |
2059 | -Date: 2013-07-14 |
2060 | - |
2061 | - Update Greek translation. |
2062 | - |
2063 | -commit d41852cd8ae8daa91b4d10ac0534db4aad8fd2a9 |
2064 | -Author: Graeme Gott <graeme@gottcode.org> |
2065 | -Date: 2013-07-14 |
2066 | - |
2067 | - Update Romanian translation. |
2068 | - |
2069 | -commit 974f0f9f131ac7513a32bf85fa5f5806d87848d8 |
2070 | -Author: Graeme Gott <graeme@gottcode.org> |
2071 | -Date: 2013-07-13 |
2072 | - |
2073 | - Work around interaction between scrolling and hover selection. Closes #7. |
2074 | - |
2075 | -commit fe0e6c45888e6aff8072a4e7e168f25e2236fcfc |
2076 | -Author: Graeme Gott <graeme@gottcode.org> |
2077 | -Date: 2013-07-13 |
2078 | - |
2079 | - Add Dutch translation. |
2080 | - |
2081 | -commit fe6becbfcfb19434848ba7df0bb8841374d905bc |
2082 | -Author: Graeme Gott <graeme@gottcode.org> |
2083 | -Date: 2013-07-13 |
2084 | - |
2085 | - Prevent duplicate entries in list page. |
2086 | - |
2087 | -commit 4ea274c64307be2869d70b25a0419412d9c960d7 |
2088 | -Author: Graeme Gott <graeme@gottcode.org> |
2089 | -Date: 2013-07-13 |
2090 | - |
2091 | - Update Hebrew, Italian, Slovak, and Vietnamese translations. |
2092 | - |
2093 | -commit c3910ef3b9616006b4248a2a3908f6ac8484e02c |
2094 | -Author: Graeme Gott <graeme@gottcode.org> |
2095 | -Date: 2013-07-13 |
2096 | - |
2097 | - Add Bulgarian translation. |
2098 | - |
2099 | -commit afd590322b865b5bdb34dfad466b3cd20b405ae1 |
2100 | -Author: Graeme Gott <graeme@gottcode.org> |
2101 | -Date: 2013-07-13 |
2102 | - |
2103 | - Remove slot macros. |
2104 | - |
2105 | -commit 659d041557f938518ad5e6adff51aeb49313beaa |
2106 | -Author: Graeme Gott <graeme@gottcode.org> |
2107 | -Date: 2013-07-12 |
2108 | - |
2109 | - Update strings. |
2110 | - |
2111 | -commit 9fad231ebcb3293f05828788c181251bda55a144 |
2112 | -Author: Graeme Gott <graeme@gottcode.org> |
2113 | -Date: 2013-07-12 |
2114 | - |
2115 | - Add icons to context menu. |
2116 | - |
2117 | -commit a11ae0aea66884025bd0310005802ea7ba61f505 |
2118 | -Author: Graeme Gott <graeme@gottcode.org> |
2119 | -Date: 2013-07-12 |
2120 | - |
2121 | - Show launcher name in context menu. |
2122 | - |
2123 | -commit 179355f5ba9720555ed3d16aac6f0968a6339b1b |
2124 | -Author: Graeme Gott <graeme@gottcode.org> |
2125 | -Date: 2013-07-12 |
2126 | - |
2127 | - Add menu actions to sort favorites alphabetically. |
2128 | - |
2129 | -commit d4c0f187f01992ad39709fdce2f6eaf0418580ca |
2130 | -Author: Graeme Gott <graeme@gottcode.org> |
2131 | -Date: 2013-07-12 |
2132 | - |
2133 | - Hide implementation of loading launcher details. |
2134 | - |
2135 | -commit cb445d3709feff11e67f57f1dbc6b63508ef8f8c |
2136 | -Author: Graeme Gott <graeme@gottcode.org> |
2137 | -Date: 2013-07-12 |
2138 | - |
2139 | - Hide implementation of finding launchers. |
2140 | - |
2141 | -commit f5bf0dbc25ed259ccb991d2ce6add5b424b96f69 |
2142 | -Author: Graeme Gott <graeme@gottcode.org> |
2143 | -Date: 2013-07-12 |
2144 | - |
2145 | - Add menu action to clear recently used. |
2146 | - |
2147 | -commit bad61c2a585bde3a008ceb37e0e78bfefe1f85c7 |
2148 | -Author: Graeme Gott <graeme@gottcode.org> |
2149 | -Date: 2013-07-12 |
2150 | - |
2151 | - Allow subclasses to extend context menu. |
2152 | - |
2153 | -commit 62f7dff219128a95730e243a2f294c4247e59b5f |
2154 | -Author: Graeme Gott <graeme@gottcode.org> |
2155 | -Date: 2013-07-10 |
2156 | - |
2157 | - Check for null launchers. |
2158 | - |
2159 | -commit ade6b8ee072e2072f74265b3967661ecf5591e38 |
2160 | -Author: Graeme Gott <graeme@gottcode.org> |
2161 | -Date: 2013-07-12 |
2162 | - |
2163 | - Simplify handling of keyboard focus. |
2164 | - |
2165 | -commit cb2264d0cedfff229786d702c4b610774717a26e |
2166 | -Author: Graeme Gott <graeme@gottcode.org> |
2167 | -Date: 2013-07-12 |
2168 | - |
2169 | - Add scrolling to sidebar. |
2170 | - |
2171 | -commit 8408358a98966b5da221ff6f926f7ce42e2b31aa |
2172 | -Author: Graeme Gott <graeme@gottcode.org> |
2173 | -Date: 2013-07-11 |
2174 | - |
2175 | - Add choosing icon sizes of launchers and categories. Closes #12. |
2176 | - |
2177 | -commit 0238a3e57e485a24b63969c4bf582b8fa1ff948a |
2178 | -Author: Graeme Gott <graeme@gottcode.org> |
2179 | -Date: 2013-07-11 |
2180 | - |
2181 | - Make section button a class. |
2182 | - |
2183 | -commit a540b040645de03082439ef15b9a284898121d5f |
2184 | -Author: Graeme Gott <graeme@gottcode.org> |
2185 | -Date: 2013-07-11 |
2186 | - |
2187 | - Add Slovak translation. |
2188 | - |
2189 | -commit 82ed7c3fdea41e2d665185c45d7042ac0032d9cc |
2190 | -Author: Graeme Gott <graeme@gottcode.org> |
2191 | -Date: 2013-07-11 |
2192 | - |
2193 | - Treat popup command as toggle. Closes #17. |
2194 | - |
2195 | -commit 2c64ac2899852a2405a04db4cb095ca8b64f54ed |
2196 | -Author: Graeme Gott <graeme@gottcode.org> |
2197 | -Date: 2013-07-10 |
2198 | - |
2199 | - Add Norwegian Bokmål translation. |
2200 | - |
2201 | -commit 94e7dfc125a3feb5c55962517a614ad4e4b19de0 |
2202 | -Author: Graeme Gott <graeme@gottcode.org> |
2203 | -Date: 2013-07-10 |
2204 | - |
2205 | - Make panel button icon optional. References #4. |
2206 | - |
2207 | -commit 0818c4a57cf24d840a9f40433487e6a2ea4e18a0 |
2208 | -Author: Graeme Gott <graeme@gottcode.org> |
2209 | -Date: 2013-07-10 |
2210 | - |
2211 | - Fix panel button size issues. |
2212 | - |
2213 | -commit c6bbf752734ed854fd31afbf45231c7c177d1186 |
2214 | -Author: Graeme Gott <graeme@gottcode.org> |
2215 | -Date: 2013-07-09 |
2216 | - |
2217 | - Add optional button title to panel button. Closes #4. |
2218 | - |
2219 | -commit d2c4daefe1edec87424cd61b4dce4fa7f2f8d179 |
2220 | -Author: Graeme Gott <graeme@gottcode.org> |
2221 | -Date: 2013-07-08 |
2222 | - |
2223 | - Update Russian translation. |
2224 | - |
2225 | -commit 9ccf61f42bf857412651027262517b38ad7281e3 |
2226 | -Author: Baurzhan Muftakhidinov <baurthefirst@gmail.com> |
2227 | -Date: 2013-07-08 |
2228 | - |
2229 | - Add Kazakh translation |
2230 | - |
2231 | -commit 7fe4f7c047277147b8bbb3d4ba72f4ee9b100057 |
2232 | -Author: Graeme Gott <graeme@gottcode.org> |
2233 | -Date: 2013-07-05 |
2234 | - |
2235 | - Also search executable names. Closes #13. |
2236 | - |
2237 | -commit 23df6dd6a1b93a145399dd18941d480a783907bd |
2238 | -Author: Graeme Gott <graeme@gottcode.org> |
2239 | -Date: 2013-07-06 |
2240 | - |
2241 | - Optimize showing search results. |
2242 | - |
2243 | -commit 03ec77407cbd6f3ec1f554ace8825fb31d0dba6c |
2244 | -Author: Graeme Gott <graeme@gottcode.org> |
2245 | -Date: 2013-07-06 |
2246 | - |
2247 | - Tweak search algorithm. |
2248 | - |
2249 | -commit 69e604f88f9433e3903021ba14364001e199d9d3 |
2250 | -Author: Graeme Gott <graeme@gottcode.org> |
2251 | -Date: 2013-07-05 |
2252 | - |
2253 | - Update news file. |
2254 | - |
2255 | -commit cffa8fec650776100551995e1f956b7dafa99bb6 |
2256 | -Author: Graeme Gott <graeme@gottcode.org> |
2257 | -Date: 2013-07-05 |
2258 | - |
2259 | - Add Malay and Russian translations. |
2260 | - |
2261 | -commit 13110181b8c5400cf474085819ee554932960e7c |
2262 | -Author: Graeme Gott <graeme@gottcode.org> |
2263 | -Date: 2013-07-05 |
2264 | - |
2265 | - Fix changes to favorites not always saved. Closes #9. |
2266 | - |
2267 | -commit 0de7f7b9f2bd15bd14630e3ea94f1cabe4a7a1b2 |
2268 | -Author: Graeme Gott <graeme@gottcode.org> |
2269 | -Date: 2013-07-05 |
2270 | - |
2271 | - Fix crash when categories have empty icons or names. |
2272 | - |
2273 | -commit c2f37b116935231e84750aecb0eb7fa15d9d2e27 |
2274 | -Author: Graeme Gott <graeme@gottcode.org> |
2275 | -Date: 2013-07-05 |
2276 | - |
2277 | - Always show search results. |
2278 | - |
2279 | -commit a8eeb05a9317f3a708d20092f46ceee656c027a5 |
2280 | -Author: Graeme Gott <graeme@gottcode.org> |
2281 | -Date: 2013-07-04 |
2282 | - |
2283 | - Reuse code and strings from Xfce applications menu popup. |
2284 | - |
2285 | -commit 278c139dcc31a8f0646fec90d6213d54ccec4dd2 |
2286 | -Author: Graeme Gott <graeme@gottcode.org> |
2287 | -Date: 2013-07-04 |
2288 | - |
2289 | - Add popping up menu at mouse cursor. |
2290 | - |
2291 | -commit 195e6177c2d0e520f400a12cefc9353fcb7cd9ea |
2292 | -Author: Graeme Gott <graeme@gottcode.org> |
2293 | -Date: 2013-07-04 |
2294 | - |
2295 | - Fix menu position in mulithead. |
2296 | - |
2297 | -commit c410ea351102187ed365b3c10e2a3e706a9f0095 |
2298 | -Author: Graeme Gott <graeme@gottcode.org> |
2299 | -Date: 2013-07-04 |
2300 | - |
2301 | - Fix RTL alignment of menu items in LTR locales. |
2302 | - |
2303 | -commit d83ab6eb5393c159743e808dc696ccdb94db1684 |
2304 | -Author: Graeme Gott <graeme@gottcode.org> |
2305 | -Date: 2013-07-03 |
2306 | - |
2307 | - Fix RTL alignment of menu items. |
2308 | - |
2309 | -commit dabb1fbc79a217518b032f9841c0682762a60471 |
2310 | -Author: Graeme Gott <graeme@gottcode.org> |
2311 | -Date: 2013-07-03 |
2312 | - |
2313 | - Tweak relevance of search results. |
2314 | - |
2315 | -commit 3a694902793b5e4ccabe1c9683967056fccb02b0 |
2316 | -Author: Graeme Gott <graeme@gottcode.org> |
2317 | -Date: 2013-07-03 |
2318 | - |
2319 | - Minor optimization of search algorithm. |
2320 | - |
2321 | -commit 865bb2628eb5c3a1ff612c79bd2de8207132d0d3 |
2322 | -Author: Graeme Gott <graeme@gottcode.org> |
2323 | -Date: 2013-07-03 |
2324 | - |
2325 | - Prevent accidental implicit typecasting. |
2326 | - |
2327 | -commit d585e1a7adb3602f1d8186b501ff7903405cd070 |
2328 | -Author: Graeme Gott <graeme@gottcode.org> |
2329 | -Date: 2013-07-03 |
2330 | - |
2331 | - Make fetching search results constant again. |
2332 | - |
2333 | - Remove accidental commit of test code. |
2334 | - |
2335 | -commit 9d61b9c9fb2256f2a67fdaa00e15d582bb8ab7f3 |
2336 | -Author: Graeme Gott <graeme@gottcode.org> |
2337 | -Date: 2013-07-02 |
2338 | - |
2339 | - Revert make fetching search results constant. |
2340 | - |
2341 | -commit 8e469ad405b584842e1b4d518847d134ea494fc0 |
2342 | -Author: Graeme Gott <graeme@gottcode.org> |
2343 | -Date: 2013-07-02 |
2344 | - |
2345 | - More improvements to search algorithm. |
2346 | - |
2347 | -commit e95b0304c0e62a30165657b339c6ccc520b73ec2 |
2348 | -Author: Graeme Gott <graeme@gottcode.org> |
2349 | -Date: 2013-07-01 |
2350 | - |
2351 | - Make fetching search results constant. |
2352 | - |
2353 | -commit f8f3080a2d09c519542078d9c4756a58cf17571c |
2354 | -Author: Graeme Gott <graeme@gottcode.org> |
2355 | -Date: 2013-07-01 |
2356 | - |
2357 | - Add sorting search results by relevance. |
2358 | - |
2359 | -commit 65e76ba7d85db44dc9be5f6547a44e0f7dbcb5c7 |
2360 | -Author: Graeme Gott <graeme@gottcode.org> |
2361 | -Date: 2013-07-01 |
2362 | - |
2363 | - Select first search result. |
2364 | - |
2365 | -commit f9d6ce1e847187a8d49c16584519cf832f30e121 |
2366 | -Author: Graeme Gott <graeme@gottcode.org> |
2367 | -Date: 2013-07-01 |
2368 | - |
2369 | - Start search immediately. Closes #8. |
2370 | - |
2371 | -commit 54bfe16f9e4658801fbcaaf58d1fa1a440f53359 |
2372 | -Author: Graeme Gott <graeme@gottcode.org> |
2373 | -Date: 2013-07-02 |
2374 | - |
2375 | - Add French, Polish, and Swedish translations. |
2376 | - |
2377 | -commit 29470a1a307fbec4215b2725a9930e7009d72b87 |
2378 | -Author: Graeme Gott <graeme@gottcode.org> |
2379 | -Date: 2013-07-01 |
2380 | - |
2381 | - Improve search algorithm. |
2382 | - |
2383 | -commit 14411b14b4a26b092ecbfe7bd876a37a9e20bf7b |
2384 | -Author: Graeme Gott <graeme@gottcode.org> |
2385 | -Date: 2013-07-01 |
2386 | - |
2387 | - Move search logic into launcher. |
2388 | - |
2389 | -commit e4b245315cbc23059bf7d6664d4ea25dbc01b965 |
2390 | -Author: Graeme Gott <graeme@gottcode.org> |
2391 | -Date: 2013-07-01 |
2392 | - |
2393 | - Update news file. |
2394 | - |
2395 | -commit 2f5c73b6f37f01435eac4133a926e85796cfa52f |
2396 | -Author: Graeme Gott <graeme@gottcode.org> |
2397 | -Date: 2013-06-30 |
2398 | - |
2399 | - Add Arabic and Catalan translations. |
2400 | - |
2401 | -commit 8ca71d69d761e9364eeb8b9c26daa1bf4212d5cf |
2402 | -Author: Graeme Gott <graeme@gottcode.org> |
2403 | -Date: 2013-06-30 |
2404 | - |
2405 | - Add option to switch categories by hovering. |
2406 | - |
2407 | -commit 65fb61631bfac7f6c0e5b5c825562c3b2b86dc73 |
2408 | -Author: Graeme Gott <graeme@gottcode.org> |
2409 | -Date: 2013-06-30 |
2410 | - |
2411 | - Fix position being reset when scrolling with directional keys. Closes #7. |
2412 | - |
2413 | -commit 8cb979dda3c585d2a74d574b885078cbb81682dd |
2414 | -Author: Graeme Gott <graeme@gottcode.org> |
2415 | -Date: 2013-06-30 |
2416 | - |
2417 | - Draw resize triangle in lighter color. Closes #5. |
2418 | - |
2419 | -commit 159be8bfa1191437f7057718e3e096c1248fa57f |
2420 | -Author: Graeme Gott <graeme@gottcode.org> |
2421 | -Date: 2013-06-30 |
2422 | - |
2423 | - Add Greek and Vietnamese translations. |
2424 | - |
2425 | -commit ae45b01bcd45c40fbe7b60bbfa3979c637f5fad1 |
2426 | -Author: Graeme Gott <graeme@gottcode.org> |
2427 | -Date: 2013-06-29 |
2428 | - |
2429 | - Fix issues with detecting when to grab pointer. |
2430 | - |
2431 | -commit be32726cc8cef3930f46c2d04d2aa77cb06a8eb4 |
2432 | -Author: Graeme Gott <graeme@gottcode.org> |
2433 | -Date: 2013-06-28 |
2434 | - |
2435 | - Update Turkish translation. |
2436 | - |
2437 | -commit 0fd3922c1dbade4a3c7b1de12def832a30878027 |
2438 | -Author: Graeme Gott <graeme@gottcode.org> |
2439 | -Date: 2013-06-28 |
2440 | - |
2441 | - Fix not always saving configuration changes. |
2442 | - |
2443 | -commit 4e7cf4cad5b87cb4df08f06f15b72568478513d2 |
2444 | -Author: Graeme Gott <graeme@gottcode.org> |
2445 | -Date: 2013-06-27 |
2446 | - |
2447 | - Add news file. |
2448 | - |
2449 | -commit 18d3f3510dd7090345f802ccff8641360cef80e8 |
2450 | -Author: Graeme Gott <graeme@gottcode.org> |
2451 | -Date: 2013-06-27 |
2452 | - |
2453 | - Fix excessive menu reloading when apps are installed. |
2454 | - |
2455 | -commit 173f099ef725e971d2f7bafd1d6116090e836f92 |
2456 | -Author: Graeme Gott <graeme@gottcode.org> |
2457 | -Date: 2013-06-27 |
2458 | - |
2459 | - Fix plugin not respecting panel row height. |
2460 | - |
2461 | -commit 2f657b312adc91e9256c3f75a4f73d02c5319d84 |
2462 | -Author: Graeme Gott <graeme@gottcode.org> |
2463 | -Date: 2013-06-26 |
2464 | - |
2465 | - Fix not loading localizations. |
2466 | - |
2467 | -commit d784da53269efb3873631cf7fd698541c84ce9b0 |
2468 | -Author: Graeme Gott <graeme@gottcode.org> |
2469 | -Date: 2013-06-26 |
2470 | - |
2471 | - Fix regression in default favorites. |
2472 | - |
2473 | -commit 5e836f93efd5fae5cb32611af329b4a2af96db1c |
2474 | -Author: Graeme Gott <graeme@gottcode.org> |
2475 | -Date: 2013-06-26 |
2476 | - |
2477 | - Reduce C++ version |
2478 | - |
2479 | - Downgrade to C++98. |
2480 | - |
2481 | -commit f8a9936362e298e3cb5d0bf5fedd41425c425437 |
2482 | -Author: Graeme Gott <graeme@gottcode.org> |
2483 | -Date: 2013-06-26 |
2484 | - |
2485 | - Remove automatically detected types. |
2486 | - |
2487 | - Downgrade to C++98. |
2488 | - |
2489 | -commit 52765937d811112a7eeaa018fd389223e9dababe |
2490 | -Author: Graeme Gott <graeme@gottcode.org> |
2491 | -Date: 2013-06-26 |
2492 | - |
2493 | - Remove extended initializer lists. |
2494 | - |
2495 | - Downgrade to C++98. |
2496 | - |
2497 | -commit e5ad2f872275b2ab9acac72c18751a7af5eb1a54 |
2498 | -Author: Graeme Gott <graeme@gottcode.org> |
2499 | -Date: 2013-06-26 |
2500 | - |
2501 | - Remove constant begin/end container calls. |
2502 | - |
2503 | - Downgrade to C++98. |
2504 | - |
2505 | -commit 4b8613814df389b7c0d0bbf517a6b31dd0c67a5e |
2506 | -Author: Graeme Gott <graeme@gottcode.org> |
2507 | -Date: 2013-06-26 |
2508 | - |
2509 | - Remove deleted function declarations. |
2510 | - |
2511 | - Downgrade to C++98. |
2512 | - |
2513 | -commit dd0727759bfaa08a435bb7bd5d0fa5bb301cdc9a |
2514 | -Author: Graeme Gott <graeme@gottcode.org> |
2515 | -Date: 2013-06-26 |
2516 | - |
2517 | - Remove rvalue references. |
2518 | - |
2519 | - Downgrade to C++98. |
2520 | - |
2521 | -commit 7e96351266de715f971d85c45cc4bb82a2d83012 |
2522 | -Author: Graeme Gott <graeme@gottcode.org> |
2523 | -Date: 2013-06-26 |
2524 | - |
2525 | - Replace unordered_map with map. |
2526 | - |
2527 | - Downgrade to C++98. |
2528 | - |
2529 | -commit 36e12dda4bffce7486500cccae6c2fad9760421b |
2530 | -Author: Graeme Gott <graeme@gottcode.org> |
2531 | -Date: 2013-06-26 |
2532 | - |
2533 | - Replace null constant pointer. |
2534 | - |
2535 | - Downgrade to C++98. |
2536 | - |
2537 | -commit 211b93c1f13562a19b90dcd7221b55f1ab20dd27 |
2538 | -Author: Graeme Gott <graeme@gottcode.org> |
2539 | -Date: 2013-06-26 |
2540 | - |
2541 | - Fix handling of non-standard icon extensions. |
2542 | - |
2543 | -commit 4c6ad31e7982e6c14e8fae815acdd32c56db355c |
2544 | -Author: Graeme Gott <graeme@gottcode.org> |
2545 | -Date: 2013-06-25 |
2546 | - |
2547 | - Add Indonesian and Italian translations. |
2548 | - |
2549 | -commit 278326a51bf6e8e5f621cd69bb1aa1a24b2e27c9 |
2550 | -Author: Graeme Gott <graeme@gottcode.org> |
2551 | -Date: 2013-06-25 |
2552 | - |
2553 | - Add German and Spanish translations. |
2554 | - |
2555 | -commit 547a81b7e47215f4bd842e3a8bead0358ef05d43 |
2556 | -Author: Graeme Gott <graeme@gottcode.org> |
2557 | -Date: 2013-06-24 |
2558 | - |
2559 | - Fix menu not positioned correctly when panel button is moved. |
2560 | - |
2561 | -commit a30f75357a5c098f5464f8e77011b9442b22da32 |
2562 | -Author: Graeme Gott <graeme@gottcode.org> |
2563 | -Date: 2013-06-24 |
2564 | - |
2565 | - Fix cmake errors in Ubuntu 12.04. |
2566 | - |
2567 | -commit 798b42a237ea6d49bfabcc4bcc106cf55bedc203 |
2568 | -Author: Graeme Gott <graeme@gottcode.org> |
2569 | -Date: 2013-06-24 |
2570 | - |
2571 | - Remove use of C++11 emplace. |
2572 | - |
2573 | - Necessary for GCC 4.6 to compile it. |
2574 | - |
2575 | -commit 7ecf7494ad37427f654982c5322ca286dbd5ba15 |
2576 | -Author: Graeme Gott <graeme@gottcode.org> |
2577 | -Date: 2013-06-23 |
2578 | - |
2579 | - Replace slot templates with macros. |
2580 | - |
2581 | -commit b9a14aef4e3bd42f9dd58eada1037e427a2f1ec0 |
2582 | -Author: Graeme Gott <graeme@gottcode.org> |
2583 | -Date: 2013-06-24 |
2584 | - |
2585 | - Fix cmake policy warning. |
2586 | - |
2587 | -commit ee762ee3831e9579527585e5c68276fba66fdfec |
2588 | -Author: Graeme Gott <graeme@gottcode.org> |
2589 | -Date: 2013-06-24 |
2590 | - |
2591 | - Update translation headers. |
2592 | - |
2593 | -commit bbd40a85e8471312a3a5d9e5c1f50faa56760a80 |
2594 | -Author: Graeme Gott <graeme@gottcode.org> |
2595 | -Date: 2013-06-24 |
2596 | - |
2597 | - Add Romanian translation. |
2598 | - |
2599 | -commit 731d7f37e97f74583641d711220625e937830287 |
2600 | -Author: Graeme Gott <graeme@gottcode.org> |
2601 | -Date: 2013-06-24 |
2602 | - |
2603 | - Update install instructions. |
2604 | - |
2605 | -commit 3ce0d7017959922221ee71a4afba87046fb35d6d |
2606 | -Author: Graeme Gott <graeme@gottcode.org> |
2607 | -Date: 2013-06-23 |
2608 | - |
2609 | - Strip release builds. |
2610 | - |
2611 | -commit aa2ed7673898e89255c91bc9ccc30b6c64abcdf7 |
2612 | -Author: Graeme Gott <graeme@gottcode.org> |
2613 | -Date: 2013-06-23 |
2614 | - |
2615 | - Relax C++ version slightly. |
2616 | - |
2617 | -commit 5d33c1a639d8b7db62a02fd0ad2ac1649a951fe6 |
2618 | -Author: Graeme Gott <graeme@gottcode.org> |
2619 | -Date: 2013-06-23 |
2620 | - |
2621 | - Add uninstall target. |
2622 | - |
2623 | -commit 9a161509364bc8da9e0088fcaa127bb585df994c |
2624 | -Author: Graeme Gott <graeme@gottcode.org> |
2625 | -Date: 2013-06-22 |
2626 | - |
2627 | - Fix incorrect menu position for auto-hidden panels. |
2628 | - |
2629 | -commit 0ba56a1980b87a20990017663ffdba847865c0b6 |
2630 | -Author: Graeme Gott <graeme@gottcode.org> |
2631 | -Date: 2013-06-22 |
2632 | - |
2633 | - Switch to using GNU install variables. |
2634 | - |
2635 | -commit e71dc4617ed14c394087796999c133062501f957 |
2636 | -Author: Graeme Gott <graeme@gottcode.org> |
2637 | -Date: 2013-06-22 |
2638 | - |
2639 | - Add external command to popup menu. Closes #1. |
2640 | - |
2641 | -commit 2460f1b4d8477128254ae0dfe3ad725a887843e2 |
2642 | -Author: Graeme Gott <graeme@gottcode.org> |
2643 | -Date: 2013-06-22 |
2644 | - |
2645 | - Update Hebrew translation. |
2646 | - |
2647 | -commit aa826f528fed1a9d554eb867e0551d36ccb937dd |
2648 | -Author: Graeme Gott <graeme@gottcode.org> |
2649 | -Date: 2013-06-21 |
2650 | - |
2651 | - Add README file. |
2652 | - |
2653 | -commit 3786cd50acac43bfd291b432065821674b92d923 |
2654 | -Author: Graeme Gott <graeme@gottcode.org> |
2655 | -Date: 2013-06-21 |
2656 | - |
2657 | - Add Turkish translation. |
2658 | - |
2659 | -commit ad816f509c84115b1899661e6fe04a87ba349a4a |
2660 | -Author: Graeme Gott <graeme@gottcode.org> |
2661 | -Date: 2013-06-21 |
2662 | - |
2663 | - Fix not showing username when real name is unknown. |
2664 | - |
2665 | -commit 33a80581c501405887fd869397a1b8a0ba425dc2 |
2666 | -Author: Graeme Gott <graeme@gottcode.org> |
2667 | -Date: 2013-06-21 |
2668 | - |
2669 | - Fix arrow keys not changing selection in search results. |
2670 | - |
2671 | -commit 9400f0aa25b088d1acf5ab386ff8f84ace4b4ee5 |
2672 | -Author: Graeme Gott <graeme@gottcode.org> |
2673 | -Date: 2013-06-21 |
2674 | - |
2675 | - Add installation directions. Closes #3. |
2676 | - |
2677 | -commit 4ad179ec9f6aac8bed12c983d52e8a45f76d6d74 |
2678 | -Author: Graeme Gott <graeme@gottcode.org> |
2679 | -Date: 2013-06-21 |
2680 | - |
2681 | - Add missing name to Hebrew translation. |
2682 | - |
2683 | -commit 990050f66c9abf32d80c209c4f54c62a8fb0b4dc |
2684 | -Author: Graeme Gott <graeme@gottcode.org> |
2685 | -Date: 2013-06-21 |
2686 | - |
2687 | - Add Hebrew translation. |
2688 | - |
2689 | -commit 3aa6792cd4855e84e5d835db70a50a1c62cca6a7 |
2690 | -Author: Graeme Gott <graeme@gottcode.org> |
2691 | -Date: 2013-06-20 |
2692 | - |
2693 | - Initial import. |
2694 | |
2695 | === modified file 'NEWS' |
2696 | --- NEWS 2015-02-15 06:11:51 +0000 |
2697 | +++ NEWS 2015-02-18 19:37:38 +0000 |
2698 | @@ -1,3 +1,28 @@ |
2699 | +1.5.0 |
2700 | +===== |
2701 | +- Fix search activation to allow input methods. |
2702 | +- Fix broken menu when closed by window manager. |
2703 | +- Fix unnecessary assignment to NULL. |
2704 | +- Fix possible null pointer dereference. |
2705 | +- Add option to set background opacity. |
2706 | +- Add command to edit profile. |
2707 | +- Add profile picture. |
2708 | +- Add customizable limit for recently used. |
2709 | +- Add support for non-square panel button icon. |
2710 | +- Add items of Xfce settings manager to allow searching. |
2711 | +- Expand subcategories when activated. |
2712 | +- Load default settings from XDG location. |
2713 | +- Make launchers executable when they are added to desktop. |
2714 | +- Rearrange options in configuration dialog. |
2715 | +- Refactor list page code. |
2716 | +- Rename option for including favorites in recently used. |
2717 | +- Rename option to use single panel row. |
2718 | +- Rename button to match default menu applet. |
2719 | +- Use a single instance of the garcon menu. |
2720 | +- Translation updates: Bulgarian, Catalan, Dutch, French, German, Hebrew, |
2721 | + Italian, Japanese, Lithuanian, Polish, Portuguese, Slovak, Slovenian, |
2722 | + Spanish, Swedish, Turkish, Chinese (Taiwan). |
2723 | + |
2724 | 1.4.3 |
2725 | ===== |
2726 | - Fix hang at launch by removing load thread. |
2727 | |
2728 | === modified file 'debian/changelog' |
2729 | --- debian/changelog 2015-02-15 06:11:51 +0000 |
2730 | +++ debian/changelog 2015-02-18 19:37:38 +0000 |
2731 | @@ -1,3 +1,9 @@ |
2732 | +xfce4-whiskermenu-plugin (1.5.0-0ubuntu1) vivid; urgency=medium |
2733 | + |
2734 | + * New upstream release. |
2735 | + |
2736 | + -- Jackson Doak <noskcaj@ubuntu.com> Thu, 19 Feb 2015 06:30:06 +1100 |
2737 | + |
2738 | xfce4-whiskermenu-plugin (1.4.3-0ubuntu1) vivid; urgency=medium |
2739 | |
2740 | * New upstream release. |
2741 | |
2742 | === modified file 'debian/patches/01_replace-gdmflexiserver.patch' |
2743 | --- debian/patches/01_replace-gdmflexiserver.patch 2014-10-14 06:39:57 +0000 |
2744 | +++ debian/patches/01_replace-gdmflexiserver.patch 2015-02-18 19:37:38 +0000 |
2745 | @@ -5,9 +5,13 @@ |
2746 | Last-Update: 2014-09-07 |
2747 | --- |
2748 | This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ |
2749 | +--- |
2750 | + panel-plugin/settings.cpp | 2 +- |
2751 | + 1 file changed, 1 insertion(+), 1 deletion(-) |
2752 | + |
2753 | --- a/panel-plugin/settings.cpp |
2754 | +++ b/panel-plugin/settings.cpp |
2755 | -@@ -112,7 +112,7 @@ |
2756 | +@@ -116,7 +116,7 @@ Settings::Settings() : |
2757 | |
2758 | command[CommandSettings] = new Command("preferences-desktop", _("All _Settings"), "xfce4-settings-manager", _("Failed to open settings manager.")); |
2759 | command[CommandLockScreen] = new Command("system-lock-screen", _("_Lock Screen"), "xflock4", _("Failed to lock screen.")); |
2760 | @@ -15,4 +19,4 @@ |
2761 | + command[CommandSwitchUser] = new Command("system-users", _("Switch _Users"), "dm-tool switch-to-greeter", _("Failed to switch users.")); |
2762 | command[CommandLogOut] = new Command("system-log-out", _("Log _Out"), "xfce4-session-logout", _("Failed to log out.")); |
2763 | command[CommandMenuEditor] = new Command("xfce4-menueditor", _("_Edit Applications"), "menulibre", _("Failed to launch menu editor.")); |
2764 | - |
2765 | + command[CommandProfile] = new Command("avatar-default", _("Edit _Profile"), "mugshot", _("Failed to edit profile.")); |
2766 | |
2767 | === modified file 'panel-plugin/CMakeLists.txt' |
2768 | --- panel-plugin/CMakeLists.txt 2014-10-14 06:39:57 +0000 |
2769 | +++ panel-plugin/CMakeLists.txt 2015-02-18 19:37:38 +0000 |
2770 | @@ -42,6 +42,7 @@ |
2771 | -DPACKAGE_VERSION="${whiskermenu_version}" |
2772 | -DBINDIR="${CMAKE_INSTALL_FULL_BINDIR}" |
2773 | -DDATADIR="${CMAKE_INSTALL_FULL_DATADIR}" |
2774 | + -DSETTINGS_MENUFILE="${CMAKE_INSTALL_FULL_SYSCONFDIR}/xdg/menus/xfce-settings-manager.menu" |
2775 | -DG_LOG_DOMAIN="whiskermenu" |
2776 | -DGSEAL_ENABLE |
2777 | -DGTK_MULTIHEAD_SAFE |
2778 | @@ -79,9 +80,9 @@ |
2779 | icon-size.cpp |
2780 | launcher.cpp |
2781 | launcher-view.cpp |
2782 | - list-page.cpp |
2783 | page.cpp |
2784 | plugin.cpp |
2785 | + profile-picture.cpp |
2786 | query.cpp |
2787 | recent-page.cpp |
2788 | register-plugin.c |
2789 | |
2790 | === modified file 'panel-plugin/applications-page.cpp' |
2791 | --- panel-plugin/applications-page.cpp 2015-02-15 06:11:51 +0000 |
2792 | +++ panel-plugin/applications-page.cpp 2015-02-18 19:37:38 +0000 |
2793 | @@ -27,6 +27,11 @@ |
2794 | |
2795 | #include <algorithm> |
2796 | |
2797 | +extern "C" |
2798 | +{ |
2799 | +#include <libxfce4util/libxfce4util.h> |
2800 | +} |
2801 | + |
2802 | using namespace WhiskerMenu; |
2803 | |
2804 | //----------------------------------------------------------------------------- |
2805 | @@ -43,6 +48,7 @@ |
2806 | ApplicationsPage::ApplicationsPage(Window* window) : |
2807 | Page(window), |
2808 | m_garcon_menu(NULL), |
2809 | + m_garcon_settings_menu(NULL), |
2810 | m_load_status(STATUS_INVALID) |
2811 | { |
2812 | // Set desktop environment for applications |
2813 | @@ -63,6 +69,58 @@ |
2814 | ApplicationsPage::~ApplicationsPage() |
2815 | { |
2816 | clear_applications(); |
2817 | + |
2818 | + // Free menu |
2819 | + if (G_LIKELY(m_garcon_menu)) |
2820 | + { |
2821 | + g_object_unref(m_garcon_menu); |
2822 | + } |
2823 | + |
2824 | + // Free settings menu |
2825 | + if (G_LIKELY(m_garcon_settings_menu)) |
2826 | + { |
2827 | + g_object_unref(m_garcon_settings_menu); |
2828 | + } |
2829 | +} |
2830 | + |
2831 | +//----------------------------------------------------------------------------- |
2832 | + |
2833 | +GtkTreeModel* ApplicationsPage::create_launcher_model(std::vector<std::string>& desktop_ids) const |
2834 | +{ |
2835 | + // Create new model for treeview |
2836 | + GtkListStore* store = gtk_list_store_new( |
2837 | + LauncherView::N_COLUMNS, |
2838 | + G_TYPE_STRING, |
2839 | + G_TYPE_STRING, |
2840 | + G_TYPE_POINTER); |
2841 | + |
2842 | + // Fetch menu items or remove them from list if missing |
2843 | + for (std::vector<std::string>::iterator i = desktop_ids.begin(); i != desktop_ids.end(); ++i) |
2844 | + { |
2845 | + if (i->empty()) |
2846 | + { |
2847 | + continue; |
2848 | + } |
2849 | + |
2850 | + Launcher* launcher = get_application(*i); |
2851 | + if (launcher) |
2852 | + { |
2853 | + gtk_list_store_insert_with_values( |
2854 | + store, NULL, G_MAXINT, |
2855 | + LauncherView::COLUMN_ICON, launcher->get_icon(), |
2856 | + LauncherView::COLUMN_TEXT, launcher->get_text(), |
2857 | + LauncherView::COLUMN_LAUNCHER, launcher, |
2858 | + -1); |
2859 | + } |
2860 | + else |
2861 | + { |
2862 | + i = desktop_ids.erase(i); |
2863 | + --i; |
2864 | + wm_settings->set_modified(); |
2865 | + } |
2866 | + } |
2867 | + |
2868 | + return GTK_TREE_MODEL(store); |
2869 | } |
2870 | |
2871 | //----------------------------------------------------------------------------- |
2872 | @@ -159,46 +217,60 @@ |
2873 | delete i->second; |
2874 | } |
2875 | m_items.clear(); |
2876 | - |
2877 | - // Unreference menu |
2878 | - if (m_garcon_menu) |
2879 | - { |
2880 | - g_object_unref(m_garcon_menu); |
2881 | - m_garcon_menu = NULL; |
2882 | - } |
2883 | } |
2884 | |
2885 | //----------------------------------------------------------------------------- |
2886 | |
2887 | void ApplicationsPage::load_contents() |
2888 | { |
2889 | - // Load garcon menu |
2890 | - if (wm_settings->custom_menu_file.empty()) |
2891 | - { |
2892 | - m_garcon_menu = garcon_menu_new_applications(); |
2893 | - } |
2894 | - else |
2895 | - { |
2896 | - m_garcon_menu = garcon_menu_new_for_path(wm_settings->custom_menu_file.c_str()); |
2897 | - } |
2898 | - |
2899 | - if (m_garcon_menu && !garcon_menu_load(m_garcon_menu, NULL, NULL)) |
2900 | - { |
2901 | - g_object_unref(m_garcon_menu); |
2902 | - m_garcon_menu = NULL; |
2903 | - } |
2904 | - |
2905 | + // Create menu |
2906 | if (!m_garcon_menu) |
2907 | { |
2908 | + if (wm_settings->custom_menu_file.empty()) |
2909 | + { |
2910 | + m_garcon_menu = garcon_menu_new_applications(); |
2911 | + } |
2912 | + else |
2913 | + { |
2914 | + m_garcon_menu = garcon_menu_new_for_path(wm_settings->custom_menu_file.c_str()); |
2915 | + } |
2916 | + |
2917 | + if (!m_garcon_menu) |
2918 | + { |
2919 | + m_load_status = STATUS_INVALID; |
2920 | + return; |
2921 | + } |
2922 | + |
2923 | + g_signal_connect_slot<GarconMenu*>(m_garcon_menu, "reload-required", &ApplicationsPage::invalidate_applications, this); |
2924 | + } |
2925 | + |
2926 | + // Create settings menu |
2927 | + if (!m_garcon_settings_menu) |
2928 | + { |
2929 | + gchar* path = xfce_resource_lookup(XFCE_RESOURCE_CONFIG, "menus/xfce-settings-manager.menu"); |
2930 | + m_garcon_settings_menu = garcon_menu_new_for_path(path != NULL ? path : SETTINGS_MENUFILE); |
2931 | + g_free(path); |
2932 | + |
2933 | + if (m_garcon_settings_menu) |
2934 | + { |
2935 | + g_signal_connect_slot<GarconMenu*>(m_garcon_settings_menu, "reload-required", &ApplicationsPage::invalidate_applications, this); |
2936 | + } |
2937 | + } |
2938 | + |
2939 | + // Load menu |
2940 | + if (!garcon_menu_load(m_garcon_menu, NULL, NULL)) |
2941 | + { |
2942 | m_load_status = STATUS_INVALID; |
2943 | - |
2944 | return; |
2945 | } |
2946 | - |
2947 | - // Populate map of menu data |
2948 | - g_signal_connect_slot<GarconMenu*>(m_garcon_menu, "reload-required", &ApplicationsPage::invalidate_applications, this); |
2949 | load_menu(m_garcon_menu, NULL); |
2950 | |
2951 | + // Load settings menu |
2952 | + if (m_garcon_settings_menu && garcon_menu_load(m_garcon_settings_menu, NULL, NULL)) |
2953 | + { |
2954 | + load_menu(m_garcon_settings_menu, NULL); |
2955 | + } |
2956 | + |
2957 | // Sort items and categories |
2958 | if (!wm_settings->load_hierarchy) |
2959 | { |
2960 | |
2961 | === modified file 'panel-plugin/applications-page.h' |
2962 | --- panel-plugin/applications-page.h 2015-02-15 06:11:51 +0000 |
2963 | +++ panel-plugin/applications-page.h 2015-02-18 19:37:38 +0000 |
2964 | @@ -39,6 +39,7 @@ |
2965 | explicit ApplicationsPage(Window* window); |
2966 | ~ApplicationsPage(); |
2967 | |
2968 | + GtkTreeModel* create_launcher_model(std::vector<std::string>& desktop_ids) const; |
2969 | Launcher* get_application(const std::string& desktop_id) const; |
2970 | |
2971 | void invalidate_applications(); |
2972 | @@ -55,6 +56,7 @@ |
2973 | |
2974 | private: |
2975 | GarconMenu* m_garcon_menu; |
2976 | + GarconMenu* m_garcon_settings_menu; |
2977 | std::vector<Category*> m_categories; |
2978 | std::map<std::string, Launcher*> m_items; |
2979 | int m_load_status; |
2980 | |
2981 | === modified file 'panel-plugin/command.cpp' |
2982 | --- panel-plugin/command.cpp 2013-12-29 21:15:12 +0000 |
2983 | +++ panel-plugin/command.cpp 2015-02-18 19:37:38 +0000 |
2984 | @@ -92,7 +92,7 @@ |
2985 | m_button = gtk_button_new(); |
2986 | gtk_button_set_relief(GTK_BUTTON(m_button), GTK_RELIEF_NONE); |
2987 | gtk_widget_set_tooltip_text(m_button, tooltip.c_str()); |
2988 | - g_signal_connect_slot<GtkButton*>(m_button, "clicked", &Command::activated, this); |
2989 | + g_signal_connect_slot<GtkButton*>(m_button, "clicked", &Command::activate, this); |
2990 | |
2991 | GtkWidget* image = gtk_image_new_from_icon_name(m_icon, GTK_ICON_SIZE_LARGE_TOOLBAR); |
2992 | gtk_container_add(GTK_CONTAINER(m_button), GTK_WIDGET(image)); |
2993 | @@ -117,7 +117,7 @@ |
2994 | m_menuitem = gtk_image_menu_item_new_with_mnemonic(m_text); |
2995 | GtkWidget* image = gtk_image_new_from_icon_name(m_icon, GTK_ICON_SIZE_MENU); |
2996 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(m_menuitem), image); |
2997 | - g_signal_connect_slot<GtkMenuItem*>(m_menuitem, "activate", &Command::activated, this); |
2998 | + g_signal_connect_slot<GtkMenuItem*>(m_menuitem, "activate", &Command::activate, this); |
2999 | |
3000 | gtk_widget_set_visible(m_menuitem, m_shown); |
3001 | gtk_widget_set_sensitive(m_menuitem, m_status == WHISKERMENU_COMMAND_VALID); |
3002 | @@ -198,7 +198,7 @@ |
3003 | |
3004 | //----------------------------------------------------------------------------- |
3005 | |
3006 | -void Command::activated() |
3007 | +void Command::activate() |
3008 | { |
3009 | GError* error = NULL; |
3010 | if (g_spawn_command_line_async(m_command, &error) == false) |
3011 | |
3012 | === modified file 'panel-plugin/command.h' |
3013 | --- panel-plugin/command.h 2013-12-29 21:15:12 +0000 |
3014 | +++ panel-plugin/command.h 2015-02-18 19:37:38 +0000 |
3015 | @@ -53,8 +53,7 @@ |
3016 | |
3017 | void check(); |
3018 | |
3019 | -private: |
3020 | - void activated(); |
3021 | + void activate(); |
3022 | |
3023 | private: |
3024 | GtkWidget* m_button; |
3025 | |
3026 | === modified file 'panel-plugin/configuration-dialog.cpp' |
3027 | --- panel-plugin/configuration-dialog.cpp 2015-01-08 07:09:23 +0000 |
3028 | +++ panel-plugin/configuration-dialog.cpp 2015-02-18 19:37:38 +0000 |
3029 | @@ -1,5 +1,5 @@ |
3030 | /* |
3031 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
3032 | + * Copyright (C) 2013, 2015 Graeme Gott <graeme@gottcode.org> |
3033 | * |
3034 | * This library is free software; you can redistribute it and/or modify |
3035 | * it under the terms of the GNU General Public License as published by |
3036 | @@ -53,7 +53,6 @@ |
3037 | static void whiskermenu_config_dialog_delete(ConfigurationDialog* dialog) |
3038 | { |
3039 | delete dialog; |
3040 | - dialog = NULL; |
3041 | } |
3042 | |
3043 | //----------------------------------------------------------------------------- |
3044 | @@ -78,6 +77,7 @@ |
3045 | GtkNotebook* notebook = GTK_NOTEBOOK(gtk_notebook_new()); |
3046 | gtk_notebook_append_page(notebook, init_appearance_tab(), gtk_label_new_with_mnemonic(_("_Appearance"))); |
3047 | gtk_notebook_append_page(notebook, init_behavior_tab(), gtk_label_new_with_mnemonic(_("_Behavior"))); |
3048 | + gtk_notebook_append_page(notebook, init_commands_tab(), gtk_label_new_with_mnemonic(_("_Commands"))); |
3049 | gtk_notebook_append_page(notebook, init_search_actions_tab(), gtk_label_new_with_mnemonic(_("Search Actio_ns"))); |
3050 | |
3051 | // Add tabs to dialog |
3052 | @@ -241,9 +241,17 @@ |
3053 | |
3054 | //----------------------------------------------------------------------------- |
3055 | |
3056 | +void ConfigurationDialog::recent_items_max_changed(GtkSpinButton* button) |
3057 | +{ |
3058 | + wm_settings->recent_items_max = gtk_spin_button_get_value_as_int(button); |
3059 | + wm_settings->set_modified(); |
3060 | +} |
3061 | + |
3062 | +//----------------------------------------------------------------------------- |
3063 | + |
3064 | void ConfigurationDialog::toggle_remember_favorites(GtkToggleButton* button) |
3065 | { |
3066 | - wm_settings->favorites_in_recent = gtk_toggle_button_get_active(button); |
3067 | + wm_settings->favorites_in_recent = !gtk_toggle_button_get_active(button); |
3068 | wm_settings->set_modified(); |
3069 | } |
3070 | |
3071 | @@ -257,6 +265,14 @@ |
3072 | |
3073 | //----------------------------------------------------------------------------- |
3074 | |
3075 | +void ConfigurationDialog::background_opacity_changed(GtkRange* range) |
3076 | +{ |
3077 | + wm_settings->menu_opacity = gtk_range_get_value(range); |
3078 | + wm_settings->set_modified(); |
3079 | +} |
3080 | + |
3081 | +//----------------------------------------------------------------------------- |
3082 | + |
3083 | SearchAction* ConfigurationDialog::get_selected_action(GtkTreeIter* iter) const |
3084 | { |
3085 | GtkTreeIter selected_iter; |
3086 | @@ -456,127 +472,102 @@ |
3087 | |
3088 | GtkWidget* ConfigurationDialog::init_appearance_tab() |
3089 | { |
3090 | - // Create page |
3091 | + // Create appearance page |
3092 | GtkWidget* page = gtk_alignment_new(0, 0, 1, 0); |
3093 | + gtk_container_set_border_width(GTK_CONTAINER(page), 8); |
3094 | GtkBox* contents_vbox = GTK_BOX(gtk_vbox_new(false, 0)); |
3095 | gtk_container_add(GTK_CONTAINER(page), GTK_WIDGET(contents_vbox)); |
3096 | |
3097 | + |
3098 | // Create panel button section |
3099 | - GtkSizeGroup* label_size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
3100 | - GtkBox* panel_vbox = GTK_BOX(gtk_vbox_new(false, 6)); |
3101 | - GtkWidget* panel_frame = xfce_gtk_frame_box_new_with_content(_("Panel Button"), GTK_WIDGET(panel_vbox)); |
3102 | - gtk_box_pack_start(contents_vbox, panel_frame, false, false, 0); |
3103 | - gtk_container_set_border_width(GTK_CONTAINER(panel_frame), 6); |
3104 | + GtkTable* panel_table = GTK_TABLE(gtk_table_new(4, 2, false)); |
3105 | + gtk_table_set_col_spacings(panel_table, 12); |
3106 | + gtk_table_set_row_spacings(panel_table, 6); |
3107 | + |
3108 | + GtkWidget* panel_frame = xfce_gtk_frame_box_new_with_content(_("Panel Button"), GTK_WIDGET(panel_table)); |
3109 | + gtk_box_pack_start(contents_vbox, panel_frame, false, false, 6); |
3110 | + gtk_container_set_border_width(GTK_CONTAINER(panel_frame), 0); |
3111 | |
3112 | // Add button style selector |
3113 | - GtkBox* hbox = GTK_BOX(gtk_hbox_new(false, 12)); |
3114 | - gtk_box_pack_start(panel_vbox, GTK_WIDGET(hbox), false, false, 0); |
3115 | - |
3116 | GtkWidget* label = gtk_label_new_with_mnemonic(_("Di_splay:")); |
3117 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3118 | - gtk_box_pack_start(hbox, label, false, false, 0); |
3119 | - gtk_size_group_add_widget(label_size_group, label); |
3120 | + gtk_table_attach(panel_table, label, 0, 1, 0, 1, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3121 | |
3122 | m_button_style = gtk_combo_box_text_new(); |
3123 | gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(m_button_style), _("Icon")); |
3124 | gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(m_button_style), _("Title")); |
3125 | gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(m_button_style), _("Icon and title")); |
3126 | gtk_combo_box_set_active(GTK_COMBO_BOX(m_button_style), static_cast<int>(m_plugin->get_button_style()) - 1); |
3127 | - gtk_box_pack_start(hbox, m_button_style, false, false, 0); |
3128 | + gtk_table_attach_defaults(panel_table, m_button_style, 1, 2, 0, 1); |
3129 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_button_style); |
3130 | g_signal_connect_slot(m_button_style, "changed", &ConfigurationDialog::style_changed, this); |
3131 | |
3132 | // Add title selector |
3133 | - hbox = GTK_BOX(gtk_hbox_new(false, 12)); |
3134 | - gtk_box_pack_start(panel_vbox, GTK_WIDGET(hbox), false, false, 0); |
3135 | - |
3136 | label = gtk_label_new_with_mnemonic(_("_Title:")); |
3137 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3138 | - gtk_box_pack_start(hbox, label, false, false, 0); |
3139 | - gtk_size_group_add_widget(label_size_group, label); |
3140 | + gtk_table_attach(panel_table, label, 0, 1, 1, 2, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3141 | |
3142 | m_title = gtk_entry_new(); |
3143 | gtk_entry_set_text(GTK_ENTRY(m_title), m_plugin->get_button_title().c_str()); |
3144 | - gtk_box_pack_start(hbox, m_title, true, true, 0); |
3145 | + gtk_table_attach_defaults(panel_table, m_title, 1, 2, 1, 2); |
3146 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_title); |
3147 | g_signal_connect_slot(m_title, "changed", &ConfigurationDialog::title_changed, this); |
3148 | |
3149 | // Add icon selector |
3150 | - hbox = GTK_BOX(gtk_hbox_new(false, 12)); |
3151 | - gtk_box_pack_start(panel_vbox, GTK_WIDGET(hbox), false, false, 0); |
3152 | - |
3153 | label = gtk_label_new_with_mnemonic(_("_Icon:")); |
3154 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3155 | - gtk_box_pack_start(hbox, label, false, false, 0); |
3156 | - gtk_size_group_add_widget(label_size_group, label); |
3157 | + gtk_table_attach(panel_table, label, 0, 1, 2, 3, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3158 | |
3159 | m_icon_button = gtk_button_new(); |
3160 | - gtk_box_pack_start(hbox, m_icon_button, false, false, 0); |
3161 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_icon_button); |
3162 | g_signal_connect_slot<GtkButton*>(m_icon_button, "clicked", &ConfigurationDialog::choose_icon, this); |
3163 | + GtkWidget* icon_alignment = gtk_alignment_new(0, 0, 0, 1); |
3164 | + gtk_container_add(GTK_CONTAINER(icon_alignment), m_icon_button); |
3165 | + gtk_table_attach_defaults(panel_table, icon_alignment, 1, 2, 2, 3); |
3166 | |
3167 | m_icon = xfce_panel_image_new_from_source(m_plugin->get_button_icon_name().c_str()); |
3168 | xfce_panel_image_set_size(XFCE_PANEL_IMAGE(m_icon), 48); |
3169 | gtk_container_add(GTK_CONTAINER(m_icon_button), m_icon); |
3170 | |
3171 | - m_button_single_row = gtk_check_button_new_with_mnemonic(_("Lay out icon in a single _panel row")); |
3172 | - gtk_box_pack_start(panel_vbox, m_button_single_row, true, true, 0); |
3173 | + m_button_single_row = gtk_check_button_new_with_mnemonic(_("Use a single _panel row")); |
3174 | + gtk_table_attach_defaults(panel_table, m_button_single_row, 1, 2, 3, 4); |
3175 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_button_single_row), wm_settings->button_single_row); |
3176 | gtk_widget_set_sensitive(m_button_single_row, gtk_combo_box_get_active(GTK_COMBO_BOX (m_button_style)) == 0); |
3177 | g_signal_connect_slot(m_button_single_row, "toggled", &ConfigurationDialog::toggle_button_single_row, this); |
3178 | + gtk_widget_show(m_button_single_row); |
3179 | + |
3180 | |
3181 | // Create menu section |
3182 | - label_size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
3183 | - GtkBox* appearance_vbox = GTK_BOX(gtk_vbox_new(false, 6)); |
3184 | - GtkWidget* appearance_frame = xfce_gtk_frame_box_new_with_content(_("Menu"), GTK_WIDGET(appearance_vbox)); |
3185 | - gtk_box_pack_start(contents_vbox, appearance_frame, false, false, 0); |
3186 | - gtk_container_set_border_width(GTK_CONTAINER(appearance_frame), 6); |
3187 | + GtkTable* menu_table = GTK_TABLE(gtk_table_new(6, 2, false)); |
3188 | + gtk_table_set_col_spacings(menu_table, 12); |
3189 | + gtk_table_set_row_spacings(menu_table, 6); |
3190 | + |
3191 | + GtkWidget* appearance_frame = xfce_gtk_frame_box_new_with_content(_("Menu"), GTK_WIDGET(menu_table)); |
3192 | + gtk_box_pack_start(contents_vbox, appearance_frame, false, false, 6); |
3193 | + gtk_container_set_border_width(GTK_CONTAINER(appearance_frame), 0); |
3194 | |
3195 | // Add option to use generic names |
3196 | m_show_generic_names = gtk_check_button_new_with_mnemonic(_("Show generic application _names")); |
3197 | - gtk_box_pack_start(appearance_vbox, m_show_generic_names, true, true, 0); |
3198 | + gtk_table_attach_defaults(menu_table, m_show_generic_names, 0, 2, 0, 1); |
3199 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_show_generic_names), !wm_settings->launcher_show_name); |
3200 | g_signal_connect_slot(m_show_generic_names, "toggled", &ConfigurationDialog::toggle_show_generic_name, this); |
3201 | |
3202 | // Add option to hide descriptions |
3203 | m_show_descriptions = gtk_check_button_new_with_mnemonic(_("Show application _descriptions")); |
3204 | - gtk_box_pack_start(appearance_vbox, m_show_descriptions, true, true, 0); |
3205 | + gtk_table_attach_defaults(menu_table, m_show_descriptions, 0, 2, 1, 2); |
3206 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_show_descriptions), wm_settings->launcher_show_description); |
3207 | g_signal_connect_slot(m_show_descriptions, "toggled", &ConfigurationDialog::toggle_show_description, this); |
3208 | |
3209 | // Add option to show menu hierarchy |
3210 | m_show_hierarchy = gtk_check_button_new_with_mnemonic(_("Show menu hie_rarchy")); |
3211 | - gtk_box_pack_start(appearance_vbox, m_show_hierarchy, true, true, 0); |
3212 | + gtk_table_attach_defaults(menu_table, m_show_hierarchy, 0, 2, 2, 3); |
3213 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_show_hierarchy), wm_settings->load_hierarchy); |
3214 | g_signal_connect_slot(m_show_hierarchy, "toggled", &ConfigurationDialog::toggle_show_hierarchy, this); |
3215 | |
3216 | - // Add option to use alternate search entry position |
3217 | - m_position_search_alternate = gtk_check_button_new_with_mnemonic(_("Position _search entry next to panel button")); |
3218 | - gtk_box_pack_start(appearance_vbox, m_position_search_alternate, true, true, 0); |
3219 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_search_alternate), wm_settings->position_search_alternate); |
3220 | - g_signal_connect_slot(m_position_search_alternate, "toggled", &ConfigurationDialog::toggle_position_search_alternate, this); |
3221 | - |
3222 | - // Add option to use alternate commands position |
3223 | - m_position_commands_alternate = gtk_check_button_new_with_mnemonic(_("Position commands next to search _entry")); |
3224 | - gtk_box_pack_start(appearance_vbox, m_position_commands_alternate, true, true, 0); |
3225 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_commands_alternate), wm_settings->position_commands_alternate); |
3226 | - gtk_widget_set_sensitive(GTK_WIDGET(m_position_commands_alternate), wm_settings->position_search_alternate); |
3227 | - g_signal_connect_slot(m_position_commands_alternate, "toggled", &ConfigurationDialog::toggle_position_commands_alternate, this); |
3228 | - |
3229 | - // Add option to use alternate categories position |
3230 | - m_position_categories_alternate = gtk_check_button_new_with_mnemonic(_("Position cate_gories next to panel button")); |
3231 | - gtk_box_pack_start(appearance_vbox, m_position_categories_alternate, true, true, 0); |
3232 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_categories_alternate), wm_settings->position_categories_alternate); |
3233 | - g_signal_connect_slot(m_position_categories_alternate, "toggled", &ConfigurationDialog::toggle_position_categories_alternate, this); |
3234 | - |
3235 | // Add item icon size selector |
3236 | - hbox = GTK_BOX(gtk_hbox_new(false, 12)); |
3237 | - gtk_box_pack_start(appearance_vbox, GTK_WIDGET(hbox), false, false, 0); |
3238 | - |
3239 | label = gtk_label_new_with_mnemonic(_("Ite_m icon size:")); |
3240 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3241 | - gtk_box_pack_start(hbox, label, false, false, 0); |
3242 | - gtk_size_group_add_widget(label_size_group, label); |
3243 | + gtk_table_attach(menu_table, label, 0, 1, 3, 4, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3244 | |
3245 | m_item_icon_size = gtk_combo_box_text_new(); |
3246 | std::vector<std::string> icon_sizes = IconSize::get_strings(); |
3247 | @@ -585,18 +576,14 @@ |
3248 | gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(m_item_icon_size), i->c_str()); |
3249 | } |
3250 | gtk_combo_box_set_active(GTK_COMBO_BOX(m_item_icon_size), wm_settings->launcher_icon_size + 1); |
3251 | - gtk_box_pack_start(hbox, m_item_icon_size, false, false, 0); |
3252 | + gtk_table_attach_defaults(menu_table, m_item_icon_size, 1, 2, 3, 4); |
3253 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_item_icon_size); |
3254 | g_signal_connect_slot(m_item_icon_size, "changed", &ConfigurationDialog::item_icon_size_changed, this); |
3255 | |
3256 | // Add category icon size selector |
3257 | - hbox = GTK_BOX(gtk_hbox_new(false, 12)); |
3258 | - gtk_box_pack_start(appearance_vbox, GTK_WIDGET(hbox), false, false, 0); |
3259 | - |
3260 | label = gtk_label_new_with_mnemonic(_("Categ_ory icon size:")); |
3261 | gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3262 | - gtk_box_pack_start(hbox, label, false, false, 0); |
3263 | - gtk_size_group_add_widget(label_size_group, label); |
3264 | + gtk_table_attach(menu_table, label, 0, 1, 4, 5, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3265 | |
3266 | m_category_icon_size = gtk_combo_box_text_new(); |
3267 | for (std::vector<std::string>::const_iterator i = icon_sizes.begin(), end = icon_sizes.end(); i != end; ++i) |
3268 | @@ -604,10 +591,21 @@ |
3269 | gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(m_category_icon_size), i->c_str()); |
3270 | } |
3271 | gtk_combo_box_set_active(GTK_COMBO_BOX(m_category_icon_size), wm_settings->category_icon_size + 1); |
3272 | - gtk_box_pack_start(hbox, m_category_icon_size, false, false, 0); |
3273 | + gtk_table_attach_defaults(menu_table, m_category_icon_size, 1, 2, 4, 5); |
3274 | gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_category_icon_size); |
3275 | g_signal_connect_slot(m_category_icon_size, "changed", &ConfigurationDialog::category_icon_size_changed, this); |
3276 | |
3277 | + // Add option to control background opacity |
3278 | + label = gtk_label_new_with_mnemonic(_("Background opacit_y:")); |
3279 | + gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3280 | + gtk_table_attach(menu_table, label, 0, 1, 5, 6, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3281 | + |
3282 | + m_background_opacity = gtk_hscale_new_with_range(0.0, 100.0, 1.0); |
3283 | + gtk_table_attach_defaults(menu_table, m_background_opacity, 1, 2, 5, 6); |
3284 | + gtk_scale_set_value_pos(GTK_SCALE(m_background_opacity), GTK_POS_RIGHT); |
3285 | + gtk_range_set_value(GTK_RANGE(m_background_opacity), wm_settings->menu_opacity); |
3286 | + g_signal_connect_slot(m_background_opacity, "value-changed", &ConfigurationDialog::background_opacity_changed, this); |
3287 | + |
3288 | return page; |
3289 | } |
3290 | |
3291 | @@ -615,11 +613,18 @@ |
3292 | |
3293 | GtkWidget* ConfigurationDialog::init_behavior_tab() |
3294 | { |
3295 | - // Create behavior section |
3296 | + // Create behavior page |
3297 | GtkWidget* page = gtk_alignment_new(0, 0, 1, 0); |
3298 | gtk_container_set_border_width(GTK_CONTAINER(page), 8); |
3299 | - GtkBox* behavior_vbox = GTK_BOX(gtk_vbox_new(false, 8)); |
3300 | - gtk_container_add(GTK_CONTAINER(page), GTK_WIDGET(behavior_vbox)); |
3301 | + GtkBox* contents_vbox = GTK_BOX(gtk_vbox_new(false, 8)); |
3302 | + gtk_container_add(GTK_CONTAINER(page), GTK_WIDGET(contents_vbox)); |
3303 | + |
3304 | + |
3305 | + // Create menu section |
3306 | + GtkBox* behavior_vbox = GTK_BOX(gtk_vbox_new(false, 6)); |
3307 | + GtkWidget* behavior_frame = xfce_gtk_frame_box_new_with_content(_("Menu"), GTK_WIDGET(behavior_vbox)); |
3308 | + gtk_box_pack_start(contents_vbox, behavior_frame, false, false, 6); |
3309 | + gtk_container_set_border_width(GTK_CONTAINER(behavior_frame), 0); |
3310 | |
3311 | // Add option to switch categories by hovering |
3312 | m_hover_switch_category = gtk_check_button_new_with_mnemonic(_("Switch categories by _hovering")); |
3313 | @@ -627,24 +632,71 @@ |
3314 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_hover_switch_category), wm_settings->category_hover_activate); |
3315 | g_signal_connect_slot(m_hover_switch_category, "toggled", &ConfigurationDialog::toggle_hover_switch_category, this); |
3316 | |
3317 | + // Add option to use alternate search entry position |
3318 | + m_position_search_alternate = gtk_check_button_new_with_mnemonic(_("Position _search entry next to panel button")); |
3319 | + gtk_box_pack_start(behavior_vbox, m_position_search_alternate, true, true, 0); |
3320 | + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_search_alternate), wm_settings->position_search_alternate); |
3321 | + g_signal_connect_slot(m_position_search_alternate, "toggled", &ConfigurationDialog::toggle_position_search_alternate, this); |
3322 | + |
3323 | + // Add option to use alternate commands position |
3324 | + m_position_commands_alternate = gtk_check_button_new_with_mnemonic(_("Position commands next to search _entry")); |
3325 | + gtk_box_pack_start(behavior_vbox, m_position_commands_alternate, true, true, 0); |
3326 | + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_commands_alternate), wm_settings->position_commands_alternate); |
3327 | + gtk_widget_set_sensitive(GTK_WIDGET(m_position_commands_alternate), wm_settings->position_search_alternate); |
3328 | + g_signal_connect_slot(m_position_commands_alternate, "toggled", &ConfigurationDialog::toggle_position_commands_alternate, this); |
3329 | + |
3330 | + // Add option to use alternate categories position |
3331 | + m_position_categories_alternate = gtk_check_button_new_with_mnemonic(_("Position cate_gories next to panel button")); |
3332 | + gtk_box_pack_start(behavior_vbox, m_position_categories_alternate, true, true, 0); |
3333 | + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_position_categories_alternate), wm_settings->position_categories_alternate); |
3334 | + g_signal_connect_slot(m_position_categories_alternate, "toggled", &ConfigurationDialog::toggle_position_categories_alternate, this); |
3335 | + |
3336 | + |
3337 | + // Create recently used section |
3338 | + GtkTable* recent_table = GTK_TABLE(gtk_table_new(3, 2, false)); |
3339 | + gtk_table_set_col_spacings(recent_table, 12); |
3340 | + gtk_table_set_row_spacings(recent_table, 6); |
3341 | + |
3342 | + GtkWidget* recent_frame = xfce_gtk_frame_box_new_with_content(_("Recently Used"), GTK_WIDGET(recent_table)); |
3343 | + gtk_box_pack_start(contents_vbox, recent_frame, false, false, 6); |
3344 | + gtk_container_set_border_width(GTK_CONTAINER(recent_frame), 0); |
3345 | + |
3346 | + // Add value to change maximum number of recently used entries |
3347 | + GtkWidget* label = gtk_label_new_with_mnemonic(_("Amount of _items:")); |
3348 | + gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
3349 | + gtk_table_attach(recent_table, label, 0, 1, 0, 1, GTK_FILL, GtkAttachOptions(GTK_EXPAND | GTK_FILL), 0, 0); |
3350 | + |
3351 | + m_recent_items_max = gtk_spin_button_new_with_range(5, 100, 1); |
3352 | + gtk_table_attach_defaults(recent_table, m_recent_items_max, 1, 2, 0, 1); |
3353 | + gtk_label_set_mnemonic_widget(GTK_LABEL(label), m_recent_items_max); |
3354 | + gtk_spin_button_set_value(GTK_SPIN_BUTTON(m_recent_items_max), wm_settings->recent_items_max); |
3355 | + g_signal_connect_slot(m_recent_items_max, "value-changed", &ConfigurationDialog::recent_items_max_changed, this); |
3356 | + |
3357 | // Add option to remember favorites |
3358 | - m_remember_favorites = gtk_check_button_new_with_mnemonic(_("Include _favorites in recently used")); |
3359 | - gtk_box_pack_start(behavior_vbox, m_remember_favorites, true, true, 0); |
3360 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_remember_favorites), wm_settings->favorites_in_recent); |
3361 | + m_remember_favorites = gtk_check_button_new_with_mnemonic(_("Ignore _favorites")); |
3362 | + gtk_table_attach_defaults(recent_table, m_remember_favorites, 0, 2, 1, 2); |
3363 | + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_remember_favorites), !wm_settings->favorites_in_recent); |
3364 | g_signal_connect_slot(m_remember_favorites, "toggled", &ConfigurationDialog::toggle_remember_favorites, this); |
3365 | |
3366 | // Add option to display recently used |
3367 | - m_display_recent = gtk_check_button_new_with_mnemonic(_("Display recently _used by default")); |
3368 | - gtk_box_pack_start(behavior_vbox, m_display_recent, true, true, 0); |
3369 | + m_display_recent = gtk_check_button_new_with_mnemonic(_("Display by _default")); |
3370 | + gtk_table_attach_defaults(recent_table, m_display_recent, 0, 2, 2, 3); |
3371 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_display_recent), wm_settings->display_recent); |
3372 | g_signal_connect_slot(m_display_recent, "toggled", &ConfigurationDialog::toggle_display_recent, this); |
3373 | |
3374 | - // Create commands section |
3375 | + return page; |
3376 | +} |
3377 | + |
3378 | +//----------------------------------------------------------------------------- |
3379 | + |
3380 | +GtkWidget* ConfigurationDialog::init_commands_tab() |
3381 | +{ |
3382 | + // Create commands page |
3383 | + GtkWidget* page = gtk_alignment_new(0, 0, 1, 0); |
3384 | + gtk_container_set_border_width(GTK_CONTAINER(page), 8); |
3385 | + GtkBox* commands_vbox = GTK_BOX(gtk_vbox_new(false, 8)); |
3386 | + gtk_container_add(GTK_CONTAINER(page), GTK_WIDGET(commands_vbox)); |
3387 | GtkSizeGroup* label_size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
3388 | - GtkBox* commands_vbox = GTK_BOX(gtk_vbox_new(false, 6)); |
3389 | - GtkWidget* commands_frame = xfce_gtk_frame_box_new_with_content(_("Commands"), GTK_WIDGET(commands_vbox)); |
3390 | - gtk_box_pack_start(behavior_vbox, commands_frame, false, false, 6); |
3391 | - gtk_container_set_border_width(GTK_CONTAINER(commands_frame), 0); |
3392 | |
3393 | // Add command entries |
3394 | for (int i = 0; i < Settings::CountCommands; ++i) |
3395 | @@ -661,7 +713,7 @@ |
3396 | |
3397 | GtkWidget* ConfigurationDialog::init_search_actions_tab() |
3398 | { |
3399 | - // Create search actions section |
3400 | + // Create search actions page |
3401 | GtkWidget* page = gtk_alignment_new(0, 0, 1, 1); |
3402 | gtk_container_set_border_width(GTK_CONTAINER(page), 8); |
3403 | GtkTable* actions_table = GTK_TABLE(gtk_table_new(3, 2, false)); |
3404 | |
3405 | === modified file 'panel-plugin/configuration-dialog.h' |
3406 | --- panel-plugin/configuration-dialog.h 2014-10-14 06:39:57 +0000 |
3407 | +++ panel-plugin/configuration-dialog.h 2015-02-18 19:37:38 +0000 |
3408 | @@ -1,5 +1,5 @@ |
3409 | /* |
3410 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
3411 | + * Copyright (C) 2013,2015 Graeme Gott <graeme@gottcode.org> |
3412 | * |
3413 | * This library is free software; you can redistribute it and/or modify |
3414 | * it under the terms of the GNU General Public License as published by |
3415 | @@ -56,9 +56,13 @@ |
3416 | |
3417 | void toggle_button_single_row(GtkToggleButton* button); |
3418 | void toggle_hover_switch_category(GtkToggleButton* button); |
3419 | + |
3420 | + void recent_items_max_changed(GtkSpinButton* button); |
3421 | void toggle_remember_favorites(GtkToggleButton* button); |
3422 | void toggle_display_recent(GtkToggleButton* button); |
3423 | |
3424 | + void background_opacity_changed(GtkRange* range); |
3425 | + |
3426 | SearchAction* get_selected_action(GtkTreeIter* iter = NULL) const; |
3427 | void action_selected(GtkTreeView* view); |
3428 | void action_name_changed(GtkEditable* editable); |
3429 | @@ -71,6 +75,7 @@ |
3430 | void response(GtkDialog*, int response_id); |
3431 | GtkWidget* init_appearance_tab(); |
3432 | GtkWidget* init_behavior_tab(); |
3433 | + GtkWidget* init_commands_tab(); |
3434 | GtkWidget* init_search_actions_tab(); |
3435 | |
3436 | private: |
3437 | @@ -86,6 +91,7 @@ |
3438 | GtkWidget* m_position_categories_alternate; |
3439 | GtkWidget* m_category_icon_size; |
3440 | GtkWidget* m_item_icon_size; |
3441 | + GtkWidget* m_background_opacity; |
3442 | |
3443 | GtkWidget* m_button_style; |
3444 | GtkWidget* m_title; |
3445 | @@ -95,6 +101,7 @@ |
3446 | GtkWidget* m_hover_switch_category; |
3447 | GtkWidget* m_remember_favorites; |
3448 | GtkWidget* m_display_recent; |
3449 | + GtkWidget* m_recent_items_max; |
3450 | std::vector<CommandEdit*> m_commands; |
3451 | |
3452 | GtkTreeView* m_actions_view; |
3453 | |
3454 | === modified file 'panel-plugin/favorites-page.cpp' |
3455 | --- panel-plugin/favorites-page.cpp 2015-02-15 06:11:51 +0000 |
3456 | +++ panel-plugin/favorites-page.cpp 2015-02-18 19:37:38 +0000 |
3457 | @@ -1,5 +1,5 @@ |
3458 | /* |
3459 | - * Copyright (C) 2013, 2015 Graeme Gott <graeme@gottcode.org> |
3460 | + * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
3461 | * |
3462 | * This library is free software; you can redistribute it and/or modify |
3463 | * it under the terms of the GNU General Public License as published by |
3464 | @@ -33,13 +33,33 @@ |
3465 | //----------------------------------------------------------------------------- |
3466 | |
3467 | FavoritesPage::FavoritesPage(Window* window) : |
3468 | - ListPage(wm_settings->favorites, window) |
3469 | + Page(window) |
3470 | { |
3471 | get_view()->set_reorderable(true); |
3472 | } |
3473 | |
3474 | //----------------------------------------------------------------------------- |
3475 | |
3476 | +FavoritesPage::~FavoritesPage() |
3477 | +{ |
3478 | + unset_menu_items(); |
3479 | +} |
3480 | + |
3481 | +//----------------------------------------------------------------------------- |
3482 | + |
3483 | +bool FavoritesPage::contains(Launcher* launcher) const |
3484 | +{ |
3485 | + if (!launcher) |
3486 | + { |
3487 | + return false; |
3488 | + } |
3489 | + |
3490 | + std::string desktop_id(launcher->get_desktop_id()); |
3491 | + return std::find(wm_settings->favorites.begin(), wm_settings->favorites.end(), desktop_id) != wm_settings->favorites.end(); |
3492 | +} |
3493 | + |
3494 | +//----------------------------------------------------------------------------- |
3495 | + |
3496 | void FavoritesPage::add(Launcher* launcher) |
3497 | { |
3498 | if (!launcher || contains(launcher)) |
3499 | @@ -59,6 +79,48 @@ |
3500 | |
3501 | //----------------------------------------------------------------------------- |
3502 | |
3503 | +void FavoritesPage::remove(Launcher* launcher) |
3504 | +{ |
3505 | + GtkTreeModel* model = GTK_TREE_MODEL(get_view()->get_model()); |
3506 | + GtkListStore* store = GTK_LIST_STORE(model); |
3507 | + GtkTreeIter iter; |
3508 | + Launcher* test_launcher = NULL; |
3509 | + |
3510 | + bool valid = gtk_tree_model_get_iter_first(model, &iter); |
3511 | + while (valid) |
3512 | + { |
3513 | + gtk_tree_model_get(model, &iter, LauncherView::COLUMN_LAUNCHER, &test_launcher, -1); |
3514 | + if (test_launcher == launcher) |
3515 | + { |
3516 | + gtk_list_store_remove(store, &iter); |
3517 | + break; |
3518 | + } |
3519 | + valid = gtk_tree_model_iter_next(model, &iter); |
3520 | + } |
3521 | +} |
3522 | + |
3523 | +//----------------------------------------------------------------------------- |
3524 | + |
3525 | +void FavoritesPage::set_menu_items() |
3526 | +{ |
3527 | + GtkTreeModel* model = get_window()->get_applications()->create_launcher_model(wm_settings->favorites); |
3528 | + get_view()->set_model(model); |
3529 | + g_signal_connect_slot(model, "row-changed", &FavoritesPage::on_row_changed, this); |
3530 | + g_signal_connect_slot(model, "row-inserted", &FavoritesPage::on_row_inserted, this); |
3531 | + g_signal_connect_slot(model, "row-deleted", &FavoritesPage::on_row_deleted, this); |
3532 | + g_object_unref(model); |
3533 | +} |
3534 | + |
3535 | +//----------------------------------------------------------------------------- |
3536 | + |
3537 | +void FavoritesPage::unset_menu_items() |
3538 | +{ |
3539 | + // Clear treeview |
3540 | + get_view()->unset_model(); |
3541 | +} |
3542 | + |
3543 | +//----------------------------------------------------------------------------- |
3544 | + |
3545 | void FavoritesPage::extend_context_menu(GtkWidget* menu) |
3546 | { |
3547 | GtkWidget* menuitem = gtk_separator_menu_item_new(); |
3548 | @@ -86,6 +148,65 @@ |
3549 | |
3550 | //----------------------------------------------------------------------------- |
3551 | |
3552 | +void FavoritesPage::on_row_changed(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter) |
3553 | +{ |
3554 | + size_t pos = gtk_tree_path_get_indices(path)[0]; |
3555 | + if (pos >= wm_settings->favorites.size()) |
3556 | + { |
3557 | + return; |
3558 | + } |
3559 | + |
3560 | + Launcher* launcher; |
3561 | + gtk_tree_model_get(model, iter, LauncherView::COLUMN_LAUNCHER, &launcher, -1); |
3562 | + if (launcher) |
3563 | + { |
3564 | + g_assert(launcher->get_type() == Launcher::Type); |
3565 | + wm_settings->favorites[pos] = launcher->get_desktop_id(); |
3566 | + wm_settings->set_modified(); |
3567 | + } |
3568 | +} |
3569 | + |
3570 | +//----------------------------------------------------------------------------- |
3571 | + |
3572 | +void FavoritesPage::on_row_inserted(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter) |
3573 | +{ |
3574 | + size_t pos = gtk_tree_path_get_indices(path)[0]; |
3575 | + |
3576 | + std::string desktop_id; |
3577 | + Launcher* launcher; |
3578 | + gtk_tree_model_get(model, iter, LauncherView::COLUMN_LAUNCHER, &launcher, -1); |
3579 | + if (launcher) |
3580 | + { |
3581 | + g_assert(launcher->get_type() == Launcher::Type); |
3582 | + desktop_id = launcher->get_desktop_id(); |
3583 | + } |
3584 | + |
3585 | + if (pos >= wm_settings->favorites.size()) |
3586 | + { |
3587 | + wm_settings->favorites.push_back(desktop_id); |
3588 | + wm_settings->set_modified(); |
3589 | + } |
3590 | + else if (wm_settings->favorites.at(pos) != desktop_id) |
3591 | + { |
3592 | + wm_settings->favorites.insert(wm_settings->favorites.begin() + pos, desktop_id); |
3593 | + wm_settings->set_modified(); |
3594 | + } |
3595 | +} |
3596 | + |
3597 | +//----------------------------------------------------------------------------- |
3598 | + |
3599 | +void FavoritesPage::on_row_deleted(GtkTreeModel*, GtkTreePath* path) |
3600 | +{ |
3601 | + size_t pos = gtk_tree_path_get_indices(path)[0]; |
3602 | + if (pos < wm_settings->favorites.size()) |
3603 | + { |
3604 | + wm_settings->favorites.erase(wm_settings->favorites.begin() + pos); |
3605 | + wm_settings->set_modified(); |
3606 | + } |
3607 | +} |
3608 | + |
3609 | +//----------------------------------------------------------------------------- |
3610 | + |
3611 | void FavoritesPage::sort(std::vector<Launcher*>& items) const |
3612 | { |
3613 | for (std::vector<std::string>::const_iterator i = wm_settings->favorites.begin(), end = wm_settings->favorites.end(); i != end; ++i) |
3614 | @@ -112,9 +233,9 @@ |
3615 | { |
3616 | desktop_ids.push_back((*i)->get_desktop_id()); |
3617 | } |
3618 | - set_desktop_ids(desktop_ids); |
3619 | - |
3620 | + wm_settings->favorites = desktop_ids; |
3621 | wm_settings->set_modified(); |
3622 | + set_menu_items(); |
3623 | } |
3624 | |
3625 | //----------------------------------------------------------------------------- |
3626 | @@ -129,9 +250,9 @@ |
3627 | { |
3628 | desktop_ids.push_back((*i)->get_desktop_id()); |
3629 | } |
3630 | - set_desktop_ids(desktop_ids); |
3631 | - |
3632 | + wm_settings->favorites = desktop_ids; |
3633 | wm_settings->set_modified(); |
3634 | + set_menu_items(); |
3635 | } |
3636 | |
3637 | //----------------------------------------------------------------------------- |
3638 | |
3639 | === modified file 'panel-plugin/favorites-page.h' |
3640 | --- panel-plugin/favorites-page.h 2013-12-29 21:15:12 +0000 |
3641 | +++ panel-plugin/favorites-page.h 2015-02-18 19:37:38 +0000 |
3642 | @@ -18,21 +18,32 @@ |
3643 | #ifndef WHISKERMENU_FAVORITES_PAGE_H |
3644 | #define WHISKERMENU_FAVORITES_PAGE_H |
3645 | |
3646 | -#include "list-page.h" |
3647 | +#include "page.h" |
3648 | + |
3649 | +#include <vector> |
3650 | |
3651 | namespace WhiskerMenu |
3652 | { |
3653 | |
3654 | -class FavoritesPage : public ListPage |
3655 | +class FavoritesPage : public Page |
3656 | { |
3657 | public: |
3658 | FavoritesPage(Window* window); |
3659 | + ~FavoritesPage(); |
3660 | + |
3661 | + bool contains(Launcher* launcher) const; |
3662 | |
3663 | void add(Launcher* launcher); |
3664 | + void remove(Launcher* launcher); |
3665 | + void set_menu_items(); |
3666 | + void unset_menu_items(); |
3667 | |
3668 | private: |
3669 | void extend_context_menu(GtkWidget* menu); |
3670 | bool remember_launcher(Launcher* launcher); |
3671 | + void on_row_changed(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter); |
3672 | + void on_row_inserted(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter); |
3673 | + void on_row_deleted(GtkTreeModel*, GtkTreePath* path); |
3674 | void sort(std::vector<Launcher*>& items) const; |
3675 | void sort_ascending(); |
3676 | void sort_descending(); |
3677 | |
3678 | === modified file 'panel-plugin/launcher-view.cpp' |
3679 | --- panel-plugin/launcher-view.cpp 2013-12-29 21:15:12 +0000 |
3680 | +++ panel-plugin/launcher-view.cpp 2015-02-18 19:37:38 +0000 |
3681 | @@ -47,6 +47,7 @@ |
3682 | m_pressed_launcher(NULL), |
3683 | m_drag_enabled(true), |
3684 | m_launcher_dragged(false), |
3685 | + m_row_activated(false), |
3686 | m_reorderable(false) |
3687 | { |
3688 | // Create the view |
3689 | @@ -76,6 +77,9 @@ |
3690 | g_signal_connect_slot(m_view, "button-release-event", &LauncherView::on_button_release_event, this); |
3691 | g_signal_connect_slot(m_view, "drag-data-get", &LauncherView::on_drag_data_get, this); |
3692 | g_signal_connect_slot(m_view, "drag-end", &LauncherView::on_drag_end, this); |
3693 | + g_signal_connect_slot(m_view, "row-activated", &LauncherView::on_row_activated, this); |
3694 | + g_signal_connect_slot<GtkTreeView*,GtkTreeIter*,GtkTreePath*>(m_view, "test-collapse-row", &LauncherView::test_row_toggle, this); |
3695 | + g_signal_connect_slot<GtkTreeView*,GtkTreeIter*,GtkTreePath*>(m_view, "test-expand-row", &LauncherView::test_row_toggle, this); |
3696 | set_reorderable(false); |
3697 | } |
3698 | |
3699 | @@ -284,6 +288,8 @@ |
3700 | |
3701 | gboolean LauncherView::on_button_press_event(GtkWidget*, GdkEvent* event) |
3702 | { |
3703 | + m_row_activated = false; |
3704 | + |
3705 | GdkEventButton* button_event = reinterpret_cast<GdkEventButton*>(event); |
3706 | if (button_event->button != 1) |
3707 | { |
3708 | @@ -366,3 +372,33 @@ |
3709 | } |
3710 | |
3711 | //----------------------------------------------------------------------------- |
3712 | + |
3713 | +void LauncherView::on_row_activated(GtkTreeView* tree_view, GtkTreePath* path, GtkTreeViewColumn*) |
3714 | +{ |
3715 | + if (m_pressed_launcher) |
3716 | + { |
3717 | + return; |
3718 | + } |
3719 | + |
3720 | + m_row_activated = true; |
3721 | + |
3722 | + if (gtk_tree_view_row_expanded(tree_view, path)) |
3723 | + { |
3724 | + gtk_tree_view_collapse_row(tree_view, path); |
3725 | + } |
3726 | + else |
3727 | + { |
3728 | + gtk_tree_view_expand_row(tree_view, path, false); |
3729 | + } |
3730 | +} |
3731 | + |
3732 | +//----------------------------------------------------------------------------- |
3733 | + |
3734 | +gboolean LauncherView::test_row_toggle() |
3735 | +{ |
3736 | + bool allow = !m_row_activated; |
3737 | + m_row_activated = false; |
3738 | + return allow; |
3739 | +} |
3740 | + |
3741 | +//----------------------------------------------------------------------------- |
3742 | |
3743 | === modified file 'panel-plugin/launcher-view.h' |
3744 | --- panel-plugin/launcher-view.h 2013-12-29 21:15:12 +0000 |
3745 | +++ panel-plugin/launcher-view.h 2015-02-18 19:37:38 +0000 |
3746 | @@ -76,6 +76,8 @@ |
3747 | gboolean on_button_release_event(GtkWidget*, GdkEvent* event); |
3748 | void on_drag_data_get(GtkWidget*, GdkDragContext*, GtkSelectionData* data, guint info, guint); |
3749 | void on_drag_end(GtkWidget*, GdkDragContext*); |
3750 | + void on_row_activated(GtkTreeView* tree_view, GtkTreePath* path, GtkTreeViewColumn* column); |
3751 | + gboolean test_row_toggle(); |
3752 | |
3753 | private: |
3754 | Window* m_window; |
3755 | @@ -88,6 +90,7 @@ |
3756 | Launcher* m_pressed_launcher; |
3757 | bool m_drag_enabled; |
3758 | bool m_launcher_dragged; |
3759 | + bool m_row_activated; |
3760 | bool m_reorderable; |
3761 | }; |
3762 | |
3763 | |
3764 | === removed file 'panel-plugin/list-page.cpp' |
3765 | --- panel-plugin/list-page.cpp 2014-03-18 21:55:14 +0000 |
3766 | +++ panel-plugin/list-page.cpp 1970-01-01 00:00:00 +0000 |
3767 | @@ -1,204 +0,0 @@ |
3768 | -/* |
3769 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
3770 | - * |
3771 | - * This library is free software; you can redistribute it and/or modify |
3772 | - * it under the terms of the GNU General Public License as published by |
3773 | - * the Free Software Foundation, either version 2 of the License, or |
3774 | - * (at your option) any later version. |
3775 | - * |
3776 | - * This library is distributed in the hope that it will be useful, |
3777 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3778 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3779 | - * GNU General Public License for more details. |
3780 | - * |
3781 | - * You should have received a copy of the GNU General Public License |
3782 | - * along with this library. If not, see <http://www.gnu.org/licenses/>. |
3783 | - */ |
3784 | - |
3785 | -#include "list-page.h" |
3786 | - |
3787 | -#include "applications-page.h" |
3788 | -#include "launcher.h" |
3789 | -#include "launcher-view.h" |
3790 | -#include "settings.h" |
3791 | -#include "slot.h" |
3792 | -#include "window.h" |
3793 | - |
3794 | -#include <algorithm> |
3795 | - |
3796 | -using namespace WhiskerMenu; |
3797 | - |
3798 | -//----------------------------------------------------------------------------- |
3799 | - |
3800 | -ListPage::ListPage(std::vector<std::string>& desktop_ids, Window* window) : |
3801 | - Page(window), |
3802 | - m_desktop_ids(desktop_ids) |
3803 | -{ |
3804 | -} |
3805 | - |
3806 | -//----------------------------------------------------------------------------- |
3807 | - |
3808 | -ListPage::~ListPage() |
3809 | -{ |
3810 | - unset_menu_items(); |
3811 | -} |
3812 | - |
3813 | -//----------------------------------------------------------------------------- |
3814 | - |
3815 | -bool ListPage::contains(Launcher* launcher) const |
3816 | -{ |
3817 | - if (!launcher) |
3818 | - { |
3819 | - return false; |
3820 | - } |
3821 | - |
3822 | - std::string desktop_id(launcher->get_desktop_id()); |
3823 | - return std::find(m_desktop_ids.begin(), m_desktop_ids.end(), desktop_id) != m_desktop_ids.end(); |
3824 | -} |
3825 | - |
3826 | -//----------------------------------------------------------------------------- |
3827 | - |
3828 | -void ListPage::remove(Launcher* launcher) |
3829 | -{ |
3830 | - GtkTreeModel* model = GTK_TREE_MODEL(get_view()->get_model()); |
3831 | - GtkListStore* store = GTK_LIST_STORE(model); |
3832 | - GtkTreeIter iter; |
3833 | - Launcher* test_launcher = NULL; |
3834 | - |
3835 | - bool valid = gtk_tree_model_get_iter_first(model, &iter); |
3836 | - while (valid) |
3837 | - { |
3838 | - gtk_tree_model_get(model, &iter, LauncherView::COLUMN_LAUNCHER, &test_launcher, -1); |
3839 | - if (test_launcher == launcher) |
3840 | - { |
3841 | - gtk_list_store_remove(store, &iter); |
3842 | - break; |
3843 | - } |
3844 | - valid = gtk_tree_model_iter_next(model, &iter); |
3845 | - } |
3846 | -} |
3847 | - |
3848 | -//----------------------------------------------------------------------------- |
3849 | - |
3850 | -void ListPage::set_menu_items() |
3851 | -{ |
3852 | - // Create new model for treeview |
3853 | - GtkListStore* store = gtk_list_store_new( |
3854 | - LauncherView::N_COLUMNS, |
3855 | - G_TYPE_STRING, |
3856 | - G_TYPE_STRING, |
3857 | - G_TYPE_POINTER); |
3858 | - |
3859 | - // Fetch menu items or remove them from list if missing |
3860 | - for (std::vector<std::string>::iterator i = m_desktop_ids.begin(); i != m_desktop_ids.end(); ++i) |
3861 | - { |
3862 | - if (i->empty()) |
3863 | - { |
3864 | - continue; |
3865 | - } |
3866 | - |
3867 | - Launcher* launcher = get_window()->get_applications()->get_application(*i); |
3868 | - if (launcher) |
3869 | - { |
3870 | - gtk_list_store_insert_with_values( |
3871 | - store, NULL, G_MAXINT, |
3872 | - LauncherView::COLUMN_ICON, launcher->get_icon(), |
3873 | - LauncherView::COLUMN_TEXT, launcher->get_text(), |
3874 | - LauncherView::COLUMN_LAUNCHER, launcher, |
3875 | - -1); |
3876 | - } |
3877 | - else |
3878 | - { |
3879 | - i = m_desktop_ids.erase(i); |
3880 | - --i; |
3881 | - } |
3882 | - } |
3883 | - |
3884 | - // Replace treeview contents |
3885 | - GtkTreeModel* model = GTK_TREE_MODEL(store); |
3886 | - get_view()->set_model(model); |
3887 | - g_signal_connect_slot(model, "row-changed", &ListPage::on_row_changed, this); |
3888 | - g_signal_connect_slot(model, "row-inserted", &ListPage::on_row_inserted, this); |
3889 | - g_signal_connect_slot(model, "row-deleted", &ListPage::on_row_deleted, this); |
3890 | - g_object_unref(model); |
3891 | -} |
3892 | - |
3893 | -//----------------------------------------------------------------------------- |
3894 | - |
3895 | -void ListPage::unset_menu_items() |
3896 | -{ |
3897 | - // Clear treeview |
3898 | - get_view()->unset_model(); |
3899 | -} |
3900 | - |
3901 | -//----------------------------------------------------------------------------- |
3902 | - |
3903 | -void ListPage::set_desktop_ids(const std::vector<std::string>& desktop_ids) |
3904 | -{ |
3905 | - m_desktop_ids = desktop_ids; |
3906 | - if (get_view()->get_model()) |
3907 | - { |
3908 | - set_menu_items(); |
3909 | - } |
3910 | -} |
3911 | - |
3912 | -//----------------------------------------------------------------------------- |
3913 | - |
3914 | -void ListPage::on_row_changed(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter) |
3915 | -{ |
3916 | - size_t pos = gtk_tree_path_get_indices(path)[0]; |
3917 | - if (pos >= m_desktop_ids.size()) |
3918 | - { |
3919 | - return; |
3920 | - } |
3921 | - |
3922 | - Launcher* launcher; |
3923 | - gtk_tree_model_get(model, iter, LauncherView::COLUMN_LAUNCHER, &launcher, -1); |
3924 | - if (launcher) |
3925 | - { |
3926 | - g_assert(launcher->get_type() == Launcher::Type); |
3927 | - m_desktop_ids[pos] = launcher->get_desktop_id(); |
3928 | - wm_settings->set_modified(); |
3929 | - } |
3930 | -} |
3931 | - |
3932 | -//----------------------------------------------------------------------------- |
3933 | - |
3934 | -void ListPage::on_row_inserted(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter) |
3935 | -{ |
3936 | - size_t pos = gtk_tree_path_get_indices(path)[0]; |
3937 | - |
3938 | - std::string desktop_id; |
3939 | - Launcher* launcher; |
3940 | - gtk_tree_model_get(model, iter, LauncherView::COLUMN_LAUNCHER, &launcher, -1); |
3941 | - if (launcher) |
3942 | - { |
3943 | - g_assert(launcher->get_type() == Launcher::Type); |
3944 | - desktop_id = launcher->get_desktop_id(); |
3945 | - } |
3946 | - |
3947 | - if (pos >= m_desktop_ids.size()) |
3948 | - { |
3949 | - m_desktop_ids.push_back(desktop_id); |
3950 | - wm_settings->set_modified(); |
3951 | - } |
3952 | - else if (m_desktop_ids.at(pos) != desktop_id) |
3953 | - { |
3954 | - m_desktop_ids.insert(m_desktop_ids.begin() + pos, desktop_id); |
3955 | - wm_settings->set_modified(); |
3956 | - } |
3957 | -} |
3958 | - |
3959 | -//----------------------------------------------------------------------------- |
3960 | - |
3961 | -void ListPage::on_row_deleted(GtkTreeModel*, GtkTreePath* path) |
3962 | -{ |
3963 | - size_t pos = gtk_tree_path_get_indices(path)[0]; |
3964 | - if (pos < m_desktop_ids.size()) |
3965 | - { |
3966 | - m_desktop_ids.erase(m_desktop_ids.begin() + pos); |
3967 | - wm_settings->set_modified(); |
3968 | - } |
3969 | -} |
3970 | - |
3971 | -//----------------------------------------------------------------------------- |
3972 | |
3973 | === removed file 'panel-plugin/list-page.h' |
3974 | --- panel-plugin/list-page.h 2013-12-29 21:15:12 +0000 |
3975 | +++ panel-plugin/list-page.h 1970-01-01 00:00:00 +0000 |
3976 | @@ -1,56 +0,0 @@ |
3977 | -/* |
3978 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
3979 | - * |
3980 | - * This library is free software; you can redistribute it and/or modify |
3981 | - * it under the terms of the GNU General Public License as published by |
3982 | - * the Free Software Foundation, either version 2 of the License, or |
3983 | - * (at your option) any later version. |
3984 | - * |
3985 | - * This library is distributed in the hope that it will be useful, |
3986 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3987 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3988 | - * GNU General Public License for more details. |
3989 | - * |
3990 | - * You should have received a copy of the GNU General Public License |
3991 | - * along with this library. If not, see <http://www.gnu.org/licenses/>. |
3992 | - */ |
3993 | - |
3994 | -#ifndef WHISKERMENU_LIST_PAGE_H |
3995 | -#define WHISKERMENU_LIST_PAGE_H |
3996 | - |
3997 | -#include "page.h" |
3998 | - |
3999 | -#include <string> |
4000 | -#include <vector> |
4001 | - |
4002 | -namespace WhiskerMenu |
4003 | -{ |
4004 | - |
4005 | -class ListPage : public Page |
4006 | -{ |
4007 | -public: |
4008 | - ListPage(std::vector<std::string>& desktop_ids, Window* window); |
4009 | - ~ListPage(); |
4010 | - |
4011 | - bool contains(Launcher* launcher) const; |
4012 | - |
4013 | - virtual void add(Launcher* launcher)=0; |
4014 | - void remove(Launcher* launcher); |
4015 | - void set_menu_items(); |
4016 | - void unset_menu_items(); |
4017 | - |
4018 | -protected: |
4019 | - void set_desktop_ids(const std::vector<std::string>& desktop_ids); |
4020 | - |
4021 | -private: |
4022 | - void on_row_changed(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter); |
4023 | - void on_row_inserted(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter); |
4024 | - void on_row_deleted(GtkTreeModel*, GtkTreePath* path); |
4025 | - |
4026 | -private: |
4027 | - std::vector<std::string>& m_desktop_ids; |
4028 | -}; |
4029 | - |
4030 | -} |
4031 | - |
4032 | -#endif // WHISKERMENU_LIST_PAGE_H |
4033 | |
4034 | === modified file 'panel-plugin/page.cpp' |
4035 | --- panel-plugin/page.cpp 2014-03-18 21:55:14 +0000 |
4036 | +++ panel-plugin/page.cpp 2015-02-18 19:37:38 +0000 |
4037 | @@ -1,5 +1,5 @@ |
4038 | /* |
4039 | - * Copyright (C) 2013, 2014 Graeme Gott <graeme@gottcode.org> |
4040 | + * Copyright (C) 2013, 2014, 2015 Graeme Gott <graeme@gottcode.org> |
4041 | * |
4042 | * This library is free software; you can redistribute it and/or modify |
4043 | * it under the terms of the GNU General Public License as published by |
4044 | @@ -26,6 +26,8 @@ |
4045 | |
4046 | #include <libxfce4ui/libxfce4ui.h> |
4047 | |
4048 | +#include <glib/gstdio.h> |
4049 | + |
4050 | using namespace WhiskerMenu; |
4051 | |
4052 | //----------------------------------------------------------------------------- |
4053 | @@ -92,7 +94,7 @@ |
4054 | gtk_tree_model_get_iter(model, &iter, m_selected_path); |
4055 | gtk_tree_model_get(model, &iter, LauncherView::COLUMN_LAUNCHER, &launcher, -1); |
4056 | } |
4057 | - return (launcher->get_type() == Launcher::Type) ? launcher : NULL; |
4058 | + return (launcher && (launcher->get_type() == Launcher::Type)) ? launcher : NULL; |
4059 | } |
4060 | |
4061 | //----------------------------------------------------------------------------- |
4062 | @@ -303,7 +305,14 @@ |
4063 | |
4064 | // Copy launcher to desktop folder |
4065 | GError* error = NULL; |
4066 | - if (!g_file_copy(source_file, destination_file, G_FILE_COPY_NONE, NULL, NULL, NULL, &error)) |
4067 | + if (g_file_copy(source_file, destination_file, G_FILE_COPY_NONE, NULL, NULL, NULL, &error)) |
4068 | + { |
4069 | + // Make launcher executable |
4070 | + gchar* path = g_file_get_path(destination_file); |
4071 | + g_chmod(path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); |
4072 | + g_free(path); |
4073 | + } |
4074 | + else |
4075 | { |
4076 | xfce_dialog_show_error(NULL, error, _("Unable to add launcher to desktop.")); |
4077 | g_error_free(error); |
4078 | |
4079 | === modified file 'panel-plugin/plugin.cpp' |
4080 | --- panel-plugin/plugin.cpp 2015-02-15 06:11:51 +0000 |
4081 | +++ panel-plugin/plugin.cpp 2015-02-18 19:37:38 +0000 |
4082 | @@ -43,7 +43,6 @@ |
4083 | static void whiskermenu_free(XfcePanelPlugin*, Plugin* whiskermenu) |
4084 | { |
4085 | delete whiskermenu; |
4086 | - whiskermenu = NULL; |
4087 | } |
4088 | |
4089 | // Wait for grab; allows modifier as shortcut |
4090 | @@ -96,13 +95,15 @@ |
4091 | |
4092 | Plugin::Plugin(XfcePanelPlugin* plugin) : |
4093 | m_plugin(plugin), |
4094 | - m_window(NULL) |
4095 | + m_window(NULL), |
4096 | + m_opacity(100) |
4097 | { |
4098 | // Load settings |
4099 | wm_settings = new Settings; |
4100 | wm_settings->button_title = get_button_title_default(); |
4101 | - wm_settings->load(g_strconcat(DATADIR, "/xfce4/whiskermenu/defaults.rc", NULL)); |
4102 | + wm_settings->load(xfce_resource_lookup(XFCE_RESOURCE_CONFIG, "xfce4/whiskermenu/defaults.rc")); |
4103 | wm_settings->load(xfce_panel_plugin_lookup_rc_file(m_plugin)); |
4104 | + m_opacity = wm_settings->menu_opacity; |
4105 | |
4106 | // Prevent empty panel button |
4107 | if (!wm_settings->button_icon_visible) |
4108 | @@ -117,12 +118,9 @@ |
4109 | } |
4110 | } |
4111 | |
4112 | - // Create menu window |
4113 | - m_window = new Window; |
4114 | - g_signal_connect_slot<GtkWidget*>(m_window->get_widget(), "unmap", &Plugin::menu_hidden, this); |
4115 | - |
4116 | // Create toggle button |
4117 | m_button = xfce_panel_create_toggle_button(); |
4118 | + gtk_widget_set_name(m_button, "whiskermenu-button"); |
4119 | gtk_button_set_relief(GTK_BUTTON(m_button), GTK_RELIEF_NONE); |
4120 | gtk_button_set_focus_on_click(GTK_BUTTON(m_button), false); |
4121 | g_signal_connect_slot(m_button, "toggled", &Plugin::button_toggled, this); |
4122 | @@ -133,7 +131,7 @@ |
4123 | gtk_container_set_border_width(GTK_CONTAINER(m_button_box), 0); |
4124 | gtk_widget_show(GTK_WIDGET(m_button_box)); |
4125 | |
4126 | - m_button_icon = XFCE_PANEL_IMAGE(xfce_panel_image_new_from_source(wm_settings->button_icon_name.c_str())); |
4127 | + m_button_icon = GTK_IMAGE(gtk_image_new()); |
4128 | gtk_box_pack_start(m_button_box, GTK_WIDGET(m_button_icon), true, false, 0); |
4129 | if (wm_settings->button_icon_visible) |
4130 | { |
4131 | @@ -174,6 +172,13 @@ |
4132 | #else |
4133 | orientation_changed(m_plugin, xfce_panel_plugin_get_orientation(m_plugin)); |
4134 | #endif |
4135 | + |
4136 | + g_signal_connect_slot<GtkWidget*,GtkStyle*>(m_button, "style-set", &Plugin::update_size, this); |
4137 | + g_signal_connect_slot<GtkWidget*,GdkScreen*>(m_button, "screen-changed", &Plugin::update_size, this); |
4138 | + |
4139 | + // Create menu window |
4140 | + m_window = new Window; |
4141 | + g_signal_connect_slot<GtkWidget*>(m_window->get_widget(), "unmap", &Plugin::menu_hidden, this); |
4142 | } |
4143 | |
4144 | //----------------------------------------------------------------------------- |
4145 | @@ -185,10 +190,10 @@ |
4146 | delete m_window; |
4147 | m_window = NULL; |
4148 | |
4149 | + gtk_widget_destroy(m_button); |
4150 | + |
4151 | delete wm_settings; |
4152 | wm_settings = NULL; |
4153 | - |
4154 | - gtk_widget_destroy(m_button); |
4155 | } |
4156 | |
4157 | //----------------------------------------------------------------------------- |
4158 | @@ -209,7 +214,7 @@ |
4159 | |
4160 | std::string Plugin::get_button_title_default() |
4161 | { |
4162 | - return _("Applications Menu"); |
4163 | + return _("Applications"); |
4164 | } |
4165 | |
4166 | //----------------------------------------------------------------------------- |
4167 | @@ -272,7 +277,6 @@ |
4168 | { |
4169 | wm_settings->button_icon_name = icon; |
4170 | wm_settings->set_modified(); |
4171 | - xfce_panel_image_set_from_source(m_button_icon, icon.c_str()); |
4172 | size_changed(m_plugin, xfce_panel_plugin_get_size(m_plugin)); |
4173 | } |
4174 | |
4175 | @@ -302,7 +306,7 @@ |
4176 | else |
4177 | { |
4178 | xfce_panel_plugin_block_autohide(m_plugin, true); |
4179 | - m_window->show(m_button, xfce_panel_plugin_get_orientation(m_plugin) == GTK_ORIENTATION_HORIZONTAL); |
4180 | + show_menu(m_button, xfce_panel_plugin_get_orientation(m_plugin) == GTK_ORIENTATION_HORIZONTAL); |
4181 | } |
4182 | } |
4183 | |
4184 | @@ -328,13 +332,13 @@ |
4185 | void Plugin::mode_changed(XfcePanelPlugin*, XfcePanelPluginMode mode) |
4186 | { |
4187 | gtk_label_set_angle(m_button_label, (mode == XFCE_PANEL_PLUGIN_MODE_VERTICAL) ? 270: 0); |
4188 | - size_changed(m_plugin, xfce_panel_plugin_get_size(m_plugin)); |
4189 | + update_size(); |
4190 | } |
4191 | #else |
4192 | void Plugin::orientation_changed(XfcePanelPlugin*, GtkOrientation orientation) |
4193 | { |
4194 | gtk_label_set_angle(m_button_label, (orientation == GTK_ORIENTATION_VERTICAL) ? 270: 0); |
4195 | - size_changed(m_plugin, xfce_panel_plugin_get_size(m_plugin)); |
4196 | + update_size(); |
4197 | } |
4198 | #endif |
4199 | |
4200 | @@ -353,7 +357,7 @@ |
4201 | } |
4202 | else if (value && G_VALUE_HOLDS_BOOLEAN(value) && g_value_get_boolean(value)) |
4203 | { |
4204 | - m_window->show(NULL, true); |
4205 | + show_menu(NULL, true); |
4206 | } |
4207 | else |
4208 | { |
4209 | @@ -416,10 +420,36 @@ |
4210 | !wm_settings->button_title_visible, |
4211 | 0, GTK_PACK_START); |
4212 | |
4213 | - // Resize icon |
4214 | + // Load icon |
4215 | GtkStyle* style = gtk_widget_get_style(m_button); |
4216 | gint border = (2 * std::max(style->xthickness, style->ythickness)) + 2; |
4217 | - xfce_panel_image_set_size(m_button_icon, row_size - border); |
4218 | + |
4219 | + GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(m_plugin)); |
4220 | + GtkIconTheme* icon_theme = G_LIKELY(screen != NULL) ? gtk_icon_theme_get_for_screen(screen) : NULL; |
4221 | + |
4222 | +#if (LIBXFCE4PANEL_CHECK_VERSION(4,9,0)) |
4223 | + gint icon_width_max = (mode == XFCE_PANEL_PLUGIN_MODE_HORIZONTAL) ? |
4224 | + 6 * row_size - border : |
4225 | + size - border; |
4226 | + gint icon_height_max = row_size - border; |
4227 | + GdkPixbuf* icon = xfce_panel_pixbuf_from_source_at_size( |
4228 | + wm_settings->button_icon_name.c_str(), |
4229 | + icon_theme, |
4230 | + icon_width_max, |
4231 | + icon_height_max); |
4232 | +#else |
4233 | + GdkPixbuf* icon = xfce_panel_pixbuf_from_source( |
4234 | + wm_settings->button_icon_name.c_str(), |
4235 | + icon_theme, |
4236 | + row_size - border); |
4237 | +#endif |
4238 | + gint icon_width = 0; |
4239 | + if (G_LIKELY(icon != NULL)) |
4240 | + { |
4241 | + gtk_image_set_from_pixbuf(m_button_icon, icon); |
4242 | + icon_width = gdk_pixbuf_get_width(icon); |
4243 | + g_object_unref(G_OBJECT(icon)); |
4244 | + } |
4245 | |
4246 | #if (LIBXFCE4PANEL_CHECK_VERSION(4,9,0)) |
4247 | if (wm_settings->button_title_visible || !wm_settings->button_single_row) |
4248 | @@ -432,7 +462,7 @@ |
4249 | if (mode == XFCE_PANEL_PLUGIN_MODE_DESKBAR && |
4250 | wm_settings->button_title_visible && |
4251 | wm_settings->button_icon_visible && |
4252 | - label_size.width <= (size - row_size)) |
4253 | + label_size.width <= (size - border - icon_width)) |
4254 | { |
4255 | orientation = GTK_ORIENTATION_HORIZONTAL; |
4256 | } |
4257 | @@ -459,3 +489,27 @@ |
4258 | } |
4259 | |
4260 | //----------------------------------------------------------------------------- |
4261 | + |
4262 | +void Plugin::update_size() |
4263 | +{ |
4264 | + size_changed(m_plugin, xfce_panel_plugin_get_size(m_plugin)); |
4265 | +} |
4266 | + |
4267 | +//----------------------------------------------------------------------------- |
4268 | + |
4269 | +void Plugin::show_menu(GtkWidget* parent, bool horizontal) |
4270 | +{ |
4271 | + if (wm_settings->menu_opacity != m_opacity) |
4272 | + { |
4273 | + if ((m_opacity == 100) || (wm_settings->menu_opacity == 100)) |
4274 | + { |
4275 | + delete m_window; |
4276 | + m_window = new Window; |
4277 | + g_signal_connect_slot<GtkWidget*>(m_window->get_widget(), "unmap", &Plugin::menu_hidden, this); |
4278 | + } |
4279 | + m_opacity = wm_settings->menu_opacity; |
4280 | + } |
4281 | + m_window->show(parent, horizontal); |
4282 | +} |
4283 | + |
4284 | +//----------------------------------------------------------------------------- |
4285 | |
4286 | === modified file 'panel-plugin/plugin.h' |
4287 | --- panel-plugin/plugin.h 2015-01-08 07:09:23 +0000 |
4288 | +++ panel-plugin/plugin.h 2015-02-18 19:37:38 +0000 |
4289 | @@ -1,5 +1,5 @@ |
4290 | /* |
4291 | - * Copyright (C) 2013, 2014 Graeme Gott <graeme@gottcode.org> |
4292 | + * Copyright (C) 2013, 2014, 2015 Graeme Gott <graeme@gottcode.org> |
4293 | * |
4294 | * This library is free software; you can redistribute it and/or modify |
4295 | * it under the terms of the GNU General Public License as published by |
4296 | @@ -70,6 +70,8 @@ |
4297 | void save(); |
4298 | void show_about(); |
4299 | gboolean size_changed(XfcePanelPlugin*, gint size); |
4300 | + void update_size(); |
4301 | + void show_menu(GtkWidget* parent, bool horizontal); |
4302 | |
4303 | private: |
4304 | XfcePanelPlugin* m_plugin; |
4305 | @@ -78,7 +80,9 @@ |
4306 | GtkWidget* m_button; |
4307 | GtkBox* m_button_box; |
4308 | GtkLabel* m_button_label; |
4309 | - XfcePanelImage* m_button_icon; |
4310 | + GtkImage* m_button_icon; |
4311 | + |
4312 | + int m_opacity; |
4313 | }; |
4314 | |
4315 | } |
4316 | |
4317 | === added file 'panel-plugin/profile-picture.cpp' |
4318 | --- panel-plugin/profile-picture.cpp 1970-01-01 00:00:00 +0000 |
4319 | +++ panel-plugin/profile-picture.cpp 2015-02-18 19:37:38 +0000 |
4320 | @@ -0,0 +1,104 @@ |
4321 | +/* |
4322 | + * Copyright (C) 2014 Graeme Gott <graeme@gottcode.org> |
4323 | + * |
4324 | + * This library is free software; you can redistribute it and/or modify |
4325 | + * it under the terms of the GNU General Public License as published by |
4326 | + * the Free Software Foundation, either version 2 of the License, or |
4327 | + * (at your option) any later version. |
4328 | + * |
4329 | + * This library is distributed in the hope that it will be useful, |
4330 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4331 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4332 | + * GNU General Public License for more details. |
4333 | + * |
4334 | + * You should have received a copy of the GNU General Public License |
4335 | + * along with this library. If not, see <http://www.gnu.org/licenses/>. |
4336 | + */ |
4337 | + |
4338 | +#include "profile-picture.h" |
4339 | + |
4340 | +#include "command.h" |
4341 | +#include "settings.h" |
4342 | +#include "slot.h" |
4343 | +#include "window.h" |
4344 | + |
4345 | +#include <libxfce4panel/libxfce4panel.h> |
4346 | + |
4347 | +using namespace WhiskerMenu; |
4348 | + |
4349 | +//----------------------------------------------------------------------------- |
4350 | + |
4351 | +ProfilePicture::ProfilePicture(Window* window) : |
4352 | + m_window(window) |
4353 | +{ |
4354 | + m_image = xfce_panel_image_new(); |
4355 | + |
4356 | + GtkWidget* eventbox = gtk_event_box_new(); |
4357 | + gtk_event_box_set_visible_window(GTK_EVENT_BOX(eventbox), false); |
4358 | + gtk_widget_add_events(eventbox, GDK_BUTTON_PRESS_MASK); |
4359 | + g_signal_connect_slot<GtkWidget*, GdkEvent*>(eventbox, "button-press-event", &ProfilePicture::on_button_press_event, this); |
4360 | + gtk_container_add(GTK_CONTAINER(eventbox), m_image); |
4361 | + |
4362 | + gchar* path = g_build_filename(g_get_home_dir(), ".face", NULL); |
4363 | + GFile* file = g_file_new_for_path(path); |
4364 | + g_free(path); |
4365 | + |
4366 | + m_file_monitor = g_file_monitor_file(file, G_FILE_MONITOR_NONE, NULL, NULL); |
4367 | + g_signal_connect_slot(m_file_monitor, "changed", &ProfilePicture::on_file_changed, this); |
4368 | + on_file_changed(m_file_monitor, file, NULL, G_FILE_MONITOR_EVENT_CHANGED); |
4369 | + |
4370 | + g_object_unref(file); |
4371 | + |
4372 | + m_alignment = gtk_alignment_new(0.5, 0.5, 0, 0); |
4373 | + gtk_alignment_set_padding(GTK_ALIGNMENT(m_alignment), 0, 0, 10, 10); |
4374 | + gtk_container_add(GTK_CONTAINER(m_alignment), eventbox); |
4375 | +} |
4376 | + |
4377 | +//----------------------------------------------------------------------------- |
4378 | + |
4379 | +ProfilePicture::~ProfilePicture() |
4380 | +{ |
4381 | + g_file_monitor_cancel(m_file_monitor); |
4382 | + g_object_unref(m_file_monitor); |
4383 | +} |
4384 | + |
4385 | +//----------------------------------------------------------------------------- |
4386 | + |
4387 | +void ProfilePicture::on_file_changed(GFileMonitor*, GFile* file, GFile*, GFileMonitorEvent) |
4388 | +{ |
4389 | + gint width = 32, height = 32; |
4390 | + gtk_icon_size_lookup(GTK_ICON_SIZE_DND, &width, &height); |
4391 | + |
4392 | + gchar* path = g_file_get_path(file); |
4393 | + GdkPixbuf* face = gdk_pixbuf_new_from_file_at_size(path, width, height, NULL); |
4394 | + g_free(path); |
4395 | + |
4396 | + XfcePanelImage* image = XFCE_PANEL_IMAGE(m_image); |
4397 | + if (face) |
4398 | + { |
4399 | + xfce_panel_image_set_size(image, -1); |
4400 | + xfce_panel_image_set_from_pixbuf(image, face); |
4401 | + g_object_unref(face); |
4402 | + } |
4403 | + else |
4404 | + { |
4405 | + xfce_panel_image_set_size(image, height); |
4406 | + xfce_panel_image_set_from_source(image, "avatar-default"); |
4407 | + } |
4408 | +} |
4409 | + |
4410 | +//----------------------------------------------------------------------------- |
4411 | + |
4412 | +void ProfilePicture::on_button_press_event() |
4413 | +{ |
4414 | + Command* command = wm_settings->command[Settings::CommandProfile]; |
4415 | + if (!command->get_shown()) |
4416 | + { |
4417 | + return; |
4418 | + } |
4419 | + |
4420 | + m_window->hide(); |
4421 | + command->activate(); |
4422 | +} |
4423 | + |
4424 | +//----------------------------------------------------------------------------- |
4425 | |
4426 | === added file 'panel-plugin/profile-picture.h' |
4427 | --- panel-plugin/profile-picture.h 1970-01-01 00:00:00 +0000 |
4428 | +++ panel-plugin/profile-picture.h 2015-02-18 19:37:38 +0000 |
4429 | @@ -0,0 +1,52 @@ |
4430 | +/* |
4431 | + * Copyright (C) 2014 Graeme Gott <graeme@gottcode.org> |
4432 | + * |
4433 | + * This library is free software; you can redistribute it and/or modify |
4434 | + * it under the terms of the GNU General Public License as published by |
4435 | + * the Free Software Foundation, either version 2 of the License, or |
4436 | + * (at your option) any later version. |
4437 | + * |
4438 | + * This library is distributed in the hope that it will be useful, |
4439 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4440 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4441 | + * GNU General Public License for more details. |
4442 | + * |
4443 | + * You should have received a copy of the GNU General Public License |
4444 | + * along with this library. If not, see <http://www.gnu.org/licenses/>. |
4445 | + */ |
4446 | + |
4447 | +#ifndef WHISKERMENU_PROFILE_PICTURE_H |
4448 | +#define WHISKERMENU_PROFILE_PICTURE_H |
4449 | + |
4450 | +#include <gtk/gtk.h> |
4451 | + |
4452 | +namespace WhiskerMenu |
4453 | +{ |
4454 | + |
4455 | +class Window; |
4456 | + |
4457 | +class ProfilePicture |
4458 | +{ |
4459 | +public: |
4460 | + ProfilePicture(Window* window); |
4461 | + ~ProfilePicture(); |
4462 | + |
4463 | + GtkWidget* get_widget() const |
4464 | + { |
4465 | + return m_alignment; |
4466 | + } |
4467 | + |
4468 | +private: |
4469 | + void on_file_changed(GFileMonitor* monitor, GFile* file, GFile* other_file, GFileMonitorEvent event_type); |
4470 | + void on_button_press_event(); |
4471 | + |
4472 | +private: |
4473 | + Window* m_window; |
4474 | + GtkWidget* m_alignment; |
4475 | + GtkWidget* m_image; |
4476 | + GFileMonitor* m_file_monitor; |
4477 | +}; |
4478 | + |
4479 | +} |
4480 | + |
4481 | +#endif // WHISKERMENU_PROFILE_PICTURE_H |
4482 | |
4483 | === modified file 'panel-plugin/recent-page.cpp' |
4484 | --- panel-plugin/recent-page.cpp 2013-12-29 21:15:12 +0000 |
4485 | +++ panel-plugin/recent-page.cpp 2015-02-18 19:37:38 +0000 |
4486 | @@ -17,10 +17,14 @@ |
4487 | |
4488 | #include "recent-page.h" |
4489 | |
4490 | +#include "applications-page.h" |
4491 | #include "launcher.h" |
4492 | #include "launcher-view.h" |
4493 | #include "settings.h" |
4494 | #include "slot.h" |
4495 | +#include "window.h" |
4496 | + |
4497 | +#include <algorithm> |
4498 | |
4499 | #include <glib/gi18n-lib.h> |
4500 | |
4501 | @@ -29,19 +33,25 @@ |
4502 | //----------------------------------------------------------------------------- |
4503 | |
4504 | RecentPage::RecentPage(Window* window) : |
4505 | - ListPage(wm_settings->recent, window), |
4506 | - m_max_items(10) |
4507 | + Page(window) |
4508 | { |
4509 | // Prevent going over max |
4510 | - if (wm_settings->recent.size() > m_max_items) |
4511 | + if (wm_settings->recent.size() > wm_settings->recent_items_max) |
4512 | { |
4513 | - wm_settings->recent.erase(wm_settings->recent.begin() + m_max_items, wm_settings->recent.end()); |
4514 | + wm_settings->recent.erase(wm_settings->recent.begin() + wm_settings->recent_items_max, wm_settings->recent.end()); |
4515 | wm_settings->set_modified(); |
4516 | } |
4517 | } |
4518 | |
4519 | //----------------------------------------------------------------------------- |
4520 | |
4521 | +RecentPage::~RecentPage() |
4522 | +{ |
4523 | + unset_menu_items(); |
4524 | +} |
4525 | + |
4526 | +//----------------------------------------------------------------------------- |
4527 | + |
4528 | void RecentPage::add(Launcher* launcher) |
4529 | { |
4530 | if (!launcher) |
4531 | @@ -49,15 +59,30 @@ |
4532 | return; |
4533 | } |
4534 | |
4535 | - // Skip if already first launcher |
4536 | - if (!wm_settings->recent.empty() && (wm_settings->recent.front() == launcher->get_desktop_id())) |
4537 | + std::string desktop_id = launcher->get_desktop_id(); |
4538 | + if (!wm_settings->recent.empty()) |
4539 | { |
4540 | - return; |
4541 | + std::vector<std::string>::iterator i = std::find(wm_settings->recent.begin(), wm_settings->recent.end(), desktop_id); |
4542 | + |
4543 | + // Skip if already first launcher |
4544 | + if (i == wm_settings->recent.begin()) |
4545 | + { |
4546 | + return; |
4547 | + } |
4548 | + // Move to front if already in list |
4549 | + else if (i != wm_settings->recent.end()) |
4550 | + { |
4551 | + GtkTreeModel* model = get_view()->get_model(); |
4552 | + GtkTreeIter iter; |
4553 | + gtk_tree_model_iter_nth_child(model, &iter, NULL, std::distance(wm_settings->recent.begin(), i)); |
4554 | + gtk_list_store_move_after(GTK_LIST_STORE(model), &iter, NULL); |
4555 | + wm_settings->recent.erase(i); |
4556 | + wm_settings->recent.insert(wm_settings->recent.begin(), desktop_id); |
4557 | + wm_settings->set_modified(); |
4558 | + return; |
4559 | + } |
4560 | } |
4561 | |
4562 | - // Remove item if already in list |
4563 | - remove(launcher); |
4564 | - |
4565 | // Prepend to list of items |
4566 | GtkListStore* store = GTK_LIST_STORE(get_view()->get_model()); |
4567 | gtk_list_store_insert_with_values( |
4568 | @@ -66,16 +91,51 @@ |
4569 | LauncherView::COLUMN_TEXT, launcher->get_text(), |
4570 | LauncherView::COLUMN_LAUNCHER, launcher, |
4571 | -1); |
4572 | + wm_settings->recent.insert(wm_settings->recent.begin(), desktop_id); |
4573 | + wm_settings->set_modified(); |
4574 | |
4575 | // Prevent going over max |
4576 | - while (wm_settings->recent.size() > m_max_items) |
4577 | + enforce_item_count(); |
4578 | +} |
4579 | + |
4580 | +//----------------------------------------------------------------------------- |
4581 | + |
4582 | +void RecentPage::enforce_item_count() |
4583 | +{ |
4584 | + if (wm_settings->recent_items_max >= wm_settings->recent.size()) |
4585 | + { |
4586 | + return; |
4587 | + } |
4588 | + |
4589 | + GtkListStore* store = GTK_LIST_STORE(get_view()->get_model()); |
4590 | + for (size_t i = wm_settings->recent.size() - 1, end = wm_settings->recent_items_max; i >= end; --i) |
4591 | { |
4592 | GtkTreeIter iter; |
4593 | - if (gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, wm_settings->recent.size() - 1)) |
4594 | + if (gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL, i)) |
4595 | { |
4596 | gtk_list_store_remove(store, &iter); |
4597 | } |
4598 | } |
4599 | + |
4600 | + wm_settings->recent.erase(wm_settings->recent.begin() + wm_settings->recent_items_max, wm_settings->recent.end()); |
4601 | + wm_settings->set_modified(); |
4602 | +} |
4603 | + |
4604 | +//----------------------------------------------------------------------------- |
4605 | + |
4606 | +void RecentPage::set_menu_items() |
4607 | +{ |
4608 | + GtkTreeModel* model = get_window()->get_applications()->create_launcher_model(wm_settings->recent); |
4609 | + get_view()->set_model(model); |
4610 | + g_object_unref(model); |
4611 | +} |
4612 | + |
4613 | +//----------------------------------------------------------------------------- |
4614 | + |
4615 | +void RecentPage::unset_menu_items() |
4616 | +{ |
4617 | + // Clear treeview |
4618 | + get_view()->unset_model(); |
4619 | } |
4620 | |
4621 | //----------------------------------------------------------------------------- |
4622 | @@ -97,6 +157,8 @@ |
4623 | void RecentPage::clear_menu() |
4624 | { |
4625 | gtk_list_store_clear(GTK_LIST_STORE(get_view()->get_model())); |
4626 | + wm_settings->recent.clear(); |
4627 | + wm_settings->set_modified(); |
4628 | } |
4629 | |
4630 | //----------------------------------------------------------------------------- |
4631 | |
4632 | === modified file 'panel-plugin/recent-page.h' |
4633 | --- panel-plugin/recent-page.h 2013-12-29 21:15:12 +0000 |
4634 | +++ panel-plugin/recent-page.h 2015-02-18 19:37:38 +0000 |
4635 | @@ -18,24 +18,25 @@ |
4636 | #ifndef WHISKERMENU_RECENT_PAGE_H |
4637 | #define WHISKERMENU_RECENT_PAGE_H |
4638 | |
4639 | -#include "list-page.h" |
4640 | +#include "page.h" |
4641 | |
4642 | namespace WhiskerMenu |
4643 | { |
4644 | |
4645 | -class RecentPage : public ListPage |
4646 | +class RecentPage : public Page |
4647 | { |
4648 | public: |
4649 | RecentPage(Window* window); |
4650 | + ~RecentPage(); |
4651 | |
4652 | void add(Launcher* launcher); |
4653 | + void enforce_item_count(); |
4654 | + void set_menu_items(); |
4655 | + void unset_menu_items(); |
4656 | |
4657 | private: |
4658 | void extend_context_menu(GtkWidget* menu); |
4659 | void clear_menu(); |
4660 | - |
4661 | -private: |
4662 | - size_t m_max_items; |
4663 | }; |
4664 | |
4665 | } |
4666 | |
4667 | === modified file 'panel-plugin/resizer-widget.cpp' |
4668 | --- panel-plugin/resizer-widget.cpp 2013-12-29 21:15:12 +0000 |
4669 | +++ panel-plugin/resizer-widget.cpp 2015-02-18 19:37:38 +0000 |
4670 | @@ -17,6 +17,7 @@ |
4671 | |
4672 | #include "resizer-widget.h" |
4673 | |
4674 | +#include "settings.h" |
4675 | #include "slot.h" |
4676 | |
4677 | using namespace WhiskerMenu; |
4678 | @@ -26,7 +27,8 @@ |
4679 | ResizerWidget::ResizerWidget(GtkWindow* window) : |
4680 | m_window(window), |
4681 | m_cursor(NULL), |
4682 | - m_shape(3) |
4683 | + m_shape(3), |
4684 | + m_supports_alpha(false) |
4685 | { |
4686 | m_alignment = GTK_ALIGNMENT(gtk_alignment_new(1,0,0,0)); |
4687 | |
4688 | @@ -39,6 +41,9 @@ |
4689 | g_signal_connect_slot(m_drawing, "enter-notify-event", &ResizerWidget::on_enter_notify_event, this); |
4690 | g_signal_connect_slot(m_drawing, "leave-notify-event", &ResizerWidget::on_leave_notify_event, this); |
4691 | g_signal_connect_slot(m_drawing, "expose-event", &ResizerWidget::on_expose_event, this); |
4692 | + g_signal_connect_slot(m_window, "screen-changed", &ResizerWidget::on_screen_changed_event, this); |
4693 | + on_screen_changed_event(GTK_WIDGET(m_drawing), NULL); |
4694 | + |
4695 | |
4696 | set_corner(TopRight); |
4697 | } |
4698 | @@ -135,11 +140,40 @@ |
4699 | |
4700 | //----------------------------------------------------------------------------- |
4701 | |
4702 | +void ResizerWidget::on_screen_changed_event(GtkWidget* widget, GdkScreen*) |
4703 | +{ |
4704 | + GdkScreen* screen = gtk_widget_get_screen(widget); |
4705 | + GdkColormap* colormap = gdk_screen_get_rgba_colormap(screen); |
4706 | + if (!colormap) |
4707 | + { |
4708 | + colormap = gdk_screen_get_system_colormap(screen); |
4709 | + m_supports_alpha = false; |
4710 | + } |
4711 | + else |
4712 | + { |
4713 | + m_supports_alpha = true; |
4714 | + } |
4715 | + gtk_widget_set_colormap(widget, colormap); |
4716 | +} |
4717 | + |
4718 | +//----------------------------------------------------------------------------- |
4719 | + |
4720 | gboolean ResizerWidget::on_expose_event(GtkWidget* widget, GdkEvent*) |
4721 | { |
4722 | cairo_t* cr = gdk_cairo_create(gtk_widget_get_window(widget)); |
4723 | |
4724 | GtkStyle* style = gtk_widget_get_style(widget); |
4725 | + |
4726 | + // Draw semi-transparent background to match window |
4727 | + if (m_supports_alpha) |
4728 | + { |
4729 | + const GdkColor& color = style->bg[GTK_STATE_NORMAL]; |
4730 | + cairo_set_source_rgba(cr, color.red / 65535.0, color.green / 65535.0, color.blue / 65535.0, wm_settings->menu_opacity / 100.0); |
4731 | + cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); |
4732 | + cairo_paint(cr); |
4733 | + } |
4734 | + |
4735 | + // Draw resize triangle |
4736 | const GdkColor& color = style->text_aa[gtk_widget_get_state(widget)]; |
4737 | cairo_set_source_rgb(cr, color.red / 65535.0, color.green / 65535.0, color.blue / 65535.0); |
4738 | |
4739 | |
4740 | === modified file 'panel-plugin/resizer-widget.h' |
4741 | --- panel-plugin/resizer-widget.h 2013-12-29 21:15:12 +0000 |
4742 | +++ panel-plugin/resizer-widget.h 2015-02-18 19:37:38 +0000 |
4743 | @@ -49,6 +49,7 @@ |
4744 | gboolean on_button_press_event(GtkWidget*, GdkEvent* event); |
4745 | gboolean on_enter_notify_event(GtkWidget* widget, GdkEvent*); |
4746 | gboolean on_leave_notify_event(GtkWidget* widget, GdkEvent*); |
4747 | + void on_screen_changed_event(GtkWidget* widget, GdkScreen* old_screen); |
4748 | gboolean on_expose_event(GtkWidget* widget, GdkEvent*); |
4749 | |
4750 | private: |
4751 | @@ -58,6 +59,7 @@ |
4752 | GdkCursor* m_cursor; |
4753 | GdkWindowEdge m_edge; |
4754 | std::vector<GdkPoint> m_shape; |
4755 | + bool m_supports_alpha; |
4756 | }; |
4757 | |
4758 | } |
4759 | |
4760 | === modified file 'panel-plugin/search-page.cpp' |
4761 | --- panel-plugin/search-page.cpp 2014-10-14 06:39:57 +0000 |
4762 | +++ panel-plugin/search-page.cpp 2015-02-18 19:37:38 +0000 |
4763 | @@ -38,7 +38,8 @@ |
4764 | get_view()->set_selection_mode(GTK_SELECTION_BROWSE); |
4765 | |
4766 | g_signal_connect_slot(window->get_search_entry(), "icon-release", &SearchPage::clear_search, this); |
4767 | - g_signal_connect_slot(window->get_search_entry(), "key-press-event", &SearchPage::search_entry_key_press, this); |
4768 | + g_signal_connect_slot(window->get_search_entry(), "key-press-event", &SearchPage::cancel_search, this); |
4769 | + g_signal_connect_slot<GtkEntry*>(window->get_search_entry(), "activate", &SearchPage::activate_search, this); |
4770 | } |
4771 | |
4772 | //----------------------------------------------------------------------------- |
4773 | @@ -184,6 +185,18 @@ |
4774 | |
4775 | //----------------------------------------------------------------------------- |
4776 | |
4777 | +void SearchPage::activate_search() |
4778 | +{ |
4779 | + GtkTreePath* path = get_view()->get_selected_path(); |
4780 | + if (path) |
4781 | + { |
4782 | + get_view()->activate_path(path); |
4783 | + gtk_tree_path_free(path); |
4784 | + } |
4785 | +} |
4786 | + |
4787 | +//----------------------------------------------------------------------------- |
4788 | + |
4789 | void SearchPage::clear_search(GtkEntry* entry, GtkEntryIconPosition icon_pos, GdkEvent*) |
4790 | { |
4791 | if (icon_pos == GTK_ENTRY_ICON_SECONDARY) |
4792 | @@ -194,7 +207,7 @@ |
4793 | |
4794 | //----------------------------------------------------------------------------- |
4795 | |
4796 | -gboolean SearchPage::search_entry_key_press(GtkWidget* widget, GdkEvent* event) |
4797 | +gboolean SearchPage::cancel_search(GtkWidget* widget, GdkEvent* event) |
4798 | { |
4799 | GdkEventKey* key_event = reinterpret_cast<GdkEventKey*>(event); |
4800 | if (key_event->keyval == GDK_Escape) |
4801 | @@ -211,16 +224,6 @@ |
4802 | return false; |
4803 | } |
4804 | } |
4805 | - else if (key_event->keyval == GDK_Return || key_event->keyval == GDK_KP_Enter) |
4806 | - { |
4807 | - GtkTreePath* path = get_view()->get_selected_path(); |
4808 | - if (path) |
4809 | - { |
4810 | - get_view()->activate_path(path); |
4811 | - gtk_tree_path_free(path); |
4812 | - } |
4813 | - return true; |
4814 | - } |
4815 | |
4816 | return false; |
4817 | } |
4818 | |
4819 | === modified file 'panel-plugin/search-page.h' |
4820 | --- panel-plugin/search-page.h 2013-12-29 21:15:12 +0000 |
4821 | +++ panel-plugin/search-page.h 2015-02-18 19:37:38 +0000 |
4822 | @@ -39,8 +39,9 @@ |
4823 | void unset_menu_items(); |
4824 | |
4825 | private: |
4826 | + void activate_search(); |
4827 | void clear_search(GtkEntry* entry, GtkEntryIconPosition icon_pos, GdkEvent*); |
4828 | - gboolean search_entry_key_press(GtkWidget* widget, GdkEvent* event); |
4829 | + gboolean cancel_search(GtkWidget* widget, GdkEvent* event); |
4830 | |
4831 | private: |
4832 | Query m_query; |
4833 | |
4834 | === modified file 'panel-plugin/settings.cpp' |
4835 | --- panel-plugin/settings.cpp 2015-01-08 07:09:23 +0000 |
4836 | +++ panel-plugin/settings.cpp 2015-02-18 19:37:38 +0000 |
4837 | @@ -1,5 +1,5 @@ |
4838 | /* |
4839 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
4840 | + * Copyright (C) 2013, 2104 Graeme Gott <graeme@gottcode.org> |
4841 | * |
4842 | * This library is free software; you can redistribute it and/or modify |
4843 | * it under the terms of the GNU General Public License as published by |
4844 | @@ -37,7 +37,8 @@ |
4845 | { "command-lockscreen", "show-command-lockscreen" }, |
4846 | { "command-switchuser", "show-command-switchuser" }, |
4847 | { "command-logout", "show-command-logout" }, |
4848 | - { "command-menueditor", "show-command-menueditor" } |
4849 | + { "command-menueditor", "show-command-menueditor" }, |
4850 | + { "command-profile", "show-command-profile" } |
4851 | }; |
4852 | |
4853 | //----------------------------------------------------------------------------- |
4854 | @@ -85,7 +86,7 @@ |
4855 | button_icon_name("xfce4-whiskermenu"), |
4856 | button_title_visible(false), |
4857 | button_icon_visible(true), |
4858 | - button_single_row(false), |
4859 | + button_single_row(false), |
4860 | |
4861 | launcher_show_name(true), |
4862 | launcher_show_description(true), |
4863 | @@ -95,15 +96,18 @@ |
4864 | category_icon_size(IconSize::Smaller), |
4865 | |
4866 | load_hierarchy(false), |
4867 | + |
4868 | + recent_items_max(10), |
4869 | favorites_in_recent(true), |
4870 | - |
4871 | display_recent(false), |
4872 | + |
4873 | position_search_alternate(false), |
4874 | position_commands_alternate(false), |
4875 | position_categories_alternate(false), |
4876 | |
4877 | menu_width(400), |
4878 | - menu_height(500) |
4879 | + menu_height(500), |
4880 | + menu_opacity(100) |
4881 | { |
4882 | favorites.push_back("exo-terminal-emulator.desktop"); |
4883 | favorites.push_back("exo-file-manager.desktop"); |
4884 | @@ -115,6 +119,7 @@ |
4885 | command[CommandSwitchUser] = new Command("system-users", _("Switch _Users"), "dm-tool switch-to-greeter", _("Failed to switch users.")); |
4886 | command[CommandLogOut] = new Command("system-log-out", _("Log _Out"), "xfce4-session-logout", _("Failed to log out.")); |
4887 | command[CommandMenuEditor] = new Command("xfce4-menueditor", _("_Edit Applications"), "menulibre", _("Failed to launch menu editor.")); |
4888 | + command[CommandProfile] = new Command("avatar-default", _("Edit _Profile"), "mugshot", _("Failed to edit profile.")); |
4889 | |
4890 | search_actions.push_back(new SearchAction(_("Man Pages"), "#", "exo-open --launch TerminalEmulator man %s", false, true)); |
4891 | search_actions.push_back(new SearchAction(_("Wikipedia"), "!w", "exo-open --launch WebBrowser https://en.wikipedia.org/wiki/%u", false, true)); |
4892 | @@ -173,15 +178,18 @@ |
4893 | category_icon_size = xfce_rc_read_int_entry(rc, "category-icon-size", category_icon_size); |
4894 | |
4895 | load_hierarchy = xfce_rc_read_bool_entry(rc, "load-hierarchy", load_hierarchy); |
4896 | + |
4897 | + recent_items_max = std::max(5, xfce_rc_read_int_entry(rc, "recent-items-max", recent_items_max)); |
4898 | favorites_in_recent = xfce_rc_read_bool_entry(rc, "favorites-in-recent", favorites_in_recent); |
4899 | - |
4900 | display_recent = xfce_rc_read_bool_entry(rc, "display-recent-default", display_recent); |
4901 | + |
4902 | position_search_alternate = xfce_rc_read_bool_entry(rc, "position-search-alternate", position_search_alternate); |
4903 | position_commands_alternate = xfce_rc_read_bool_entry(rc, "position-commands-alternate", position_commands_alternate) && position_search_alternate; |
4904 | position_categories_alternate = xfce_rc_read_bool_entry(rc, "position-categories-alternate", position_categories_alternate); |
4905 | |
4906 | menu_width = std::max(300, xfce_rc_read_int_entry(rc, "menu-width", menu_width)); |
4907 | menu_height = std::max(400, xfce_rc_read_int_entry(rc, "menu-height", menu_height)); |
4908 | + menu_opacity = std::min(100, std::max(0, xfce_rc_read_int_entry(rc, "menu-opacity", menu_height))); |
4909 | |
4910 | for (int i = 0; i < CountCommands; ++i) |
4911 | { |
4912 | @@ -266,15 +274,18 @@ |
4913 | xfce_rc_write_int_entry(rc, "category-icon-size", category_icon_size); |
4914 | |
4915 | xfce_rc_write_bool_entry(rc, "load-hierarchy", load_hierarchy); |
4916 | + |
4917 | + xfce_rc_write_int_entry(rc, "recent-items-max", recent_items_max); |
4918 | xfce_rc_write_bool_entry(rc, "favorites-in-recent", favorites_in_recent); |
4919 | - |
4920 | xfce_rc_write_bool_entry(rc, "display-recent-default", display_recent); |
4921 | + |
4922 | xfce_rc_write_bool_entry(rc, "position-search-alternate", position_search_alternate); |
4923 | xfce_rc_write_bool_entry(rc, "position-commands-alternate", position_commands_alternate); |
4924 | xfce_rc_write_bool_entry(rc, "position-categories-alternate", position_categories_alternate); |
4925 | |
4926 | xfce_rc_write_int_entry(rc, "menu-width", menu_width); |
4927 | xfce_rc_write_int_entry(rc, "menu-height", menu_height); |
4928 | + xfce_rc_write_int_entry(rc, "menu-opacity", menu_opacity); |
4929 | |
4930 | for (int i = 0; i < CountCommands; ++i) |
4931 | { |
4932 | |
4933 | === modified file 'panel-plugin/settings.h' |
4934 | --- panel-plugin/settings.h 2014-10-14 06:39:57 +0000 |
4935 | +++ panel-plugin/settings.h 2015-02-18 19:37:38 +0000 |
4936 | @@ -1,5 +1,5 @@ |
4937 | /* |
4938 | - * Copyright (C) 2013 Graeme Gott <graeme@gottcode.org> |
4939 | + * Copyright (C) 2013, 2014 Graeme Gott <graeme@gottcode.org> |
4940 | * |
4941 | * This library is free software; you can redistribute it and/or modify |
4942 | * it under the terms of the GNU General Public License as published by |
4943 | @@ -73,9 +73,11 @@ |
4944 | IconSize category_icon_size; |
4945 | |
4946 | bool load_hierarchy; |
4947 | + |
4948 | + unsigned int recent_items_max; |
4949 | bool favorites_in_recent; |
4950 | - |
4951 | bool display_recent; |
4952 | + |
4953 | bool position_search_alternate; |
4954 | bool position_commands_alternate; |
4955 | bool position_categories_alternate; |
4956 | @@ -87,6 +89,7 @@ |
4957 | CommandSwitchUser, |
4958 | CommandLogOut, |
4959 | CommandMenuEditor, |
4960 | + CommandProfile, |
4961 | CountCommands |
4962 | }; |
4963 | Command* command[CountCommands]; |
4964 | @@ -95,6 +98,7 @@ |
4965 | |
4966 | int menu_width; |
4967 | int menu_height; |
4968 | + int menu_opacity; |
4969 | |
4970 | friend class Plugin; |
4971 | }; |
4972 | |
4973 | === modified file 'panel-plugin/slot.h' |
4974 | --- panel-plugin/slot.h 2014-01-17 21:53:17 +0000 |
4975 | +++ panel-plugin/slot.h 2015-02-18 19:37:38 +0000 |
4976 | @@ -251,7 +251,7 @@ |
4977 | class Slot |
4978 | { |
4979 | T* m_instance; |
4980 | - R (T::*m_member)(A1,A2,A3); |
4981 | + R (T::*m_member)(A1,A2,A3,A4); |
4982 | |
4983 | public: |
4984 | Slot(T* instance, R (T::*member)(A1,A2,A3,A4)) : |
4985 | |
4986 | === modified file 'panel-plugin/window.cpp' |
4987 | --- panel-plugin/window.cpp 2015-02-15 06:11:51 +0000 |
4988 | +++ panel-plugin/window.cpp 2015-02-18 19:37:38 +0000 |
4989 | @@ -21,6 +21,7 @@ |
4990 | #include "command.h" |
4991 | #include "favorites-page.h" |
4992 | #include "launcher-view.h" |
4993 | +#include "profile-picture.h" |
4994 | #include "recent-page.h" |
4995 | #include "resizer-widget.h" |
4996 | #include "search-page.h" |
4997 | @@ -38,12 +39,13 @@ |
4998 | |
4999 | //----------------------------------------------------------------------------- |
5000 |
The diff has been truncated for viewing.