Merge lp:~ricotz/slingshot/port-gmenu3 into lp:~elementary-pantheon/slingshot/trunk

Proposed by Rico Tzschichholz
Status: Superseded
Proposed branch: lp:~ricotz/slingshot/port-gmenu3
Merge into: lp:~elementary-pantheon/slingshot/trunk
Diff against target: 227 lines (+59/-67)
3 files modified
CMakeLists.txt (+2/-2)
src/Backend/App.vala (+24/-8)
src/Backend/AppSystem.vala (+33/-57)
To merge this branch: bzr merge lp:~ricotz/slingshot/port-gmenu3
Reviewer Review Type Date Requested Status
Corentin Noël Approve
Tom Beckmann (community) Approve
Review via email: mp+124553@code.launchpad.net

This proposal has been superseded by a proposal from 2014-02-23.

Description of the change

Transition to use libgnome-menu-3.0

To post a comment you must log in.
lp:~ricotz/slingshot/port-gmenu3 updated
274. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

Revision history for this message
Tom Beckmann (tombeckmann) wrote :

Working perfectly now.

review: Approve
lp:~ricotz/slingshot/port-gmenu3 updated
275. By Rico Tzschichholz

Port App and AppSystem to use libgnome-menu-3.0

276. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

277. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

278. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

279. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

280. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

281. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

282. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

283. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

284. By Andrea Basso

Reverted the gmenu-3 commit since it caused a severe bug. It'll be re-introduced after beta1

285. By Andrea Basso

Now Slingshot shows Ubuntu One and Ubuntu Tweak

286. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

287. By Andrea Basso

Some final tweaking and solving the single-letter problem

288. By Adam Davies

Changed from using the released event in the AppEntry to the clicked event to fix bug #956063.

289. By Cody Garver

Be less picky about Granite version for the time being.

290. By Adam Davies

Add tooltips to fix bug #1063333.

291. By Cody Garver

Updated POT file.

292. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

293. By Andrea Basso

Fixed sidebar not updating after installation and changed value. Slingshot is now beta1 ready

294. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

295. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

296. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

297. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

298. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

299. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

300. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

301. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

302. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

303. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

304. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

305. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

306. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

307. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

308. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

309. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

310. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

311. By Tom Beckmann

Re-added wnck activation in order to make everything work with newest gala update

312. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

313. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

314. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

315. By Akshay Shekher

Search now lists apps with NoDisplay=true as well

316. By Andrea Basso

Removed open-on-mouse option

317. By Victor Martinez

Added patch so that when Wingpanel will do as well, we get highlit Applications when Slingshot's open

318. By Andrea Basso

General improvements to code

319. By Andrea Basso

Forgot to remove a nasty bracket

320. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

321. By Andrea Basso

Fixed appearing of NoDisplay=True apps in CategoryView

322. By Andrea Basso

No more disappearing pages

323. By Andrea Basso

Zeitgeist is back with us

324. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

325. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

326. By Andrea Basso

Fixed scrolling bugs in CategoryView

327. By Andrea Basso

Slingshot doesn't show up when changing screen resolution

328. By Andrea Basso

Fixed a bug introduced with last commit

329. By Andrea Basso

Fixed bugs concerning the SearchEntry

330. By Andrea Basso

Fixed categories not switching after installation

331. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

332. By Julien Spautz

Move from press to release event for pages to fix bug #1094277.

333. By Julien Spautz

Fixes all sort of bugs concerning the SearchEntry

334. By Andrea Basso

Remove NoDisplay=True apps from SearchView.

335. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

336. By Andrea Basso

When typing after scrolling in SearchView, SearchView now scrolls back to the top to fix bug #1127170.

337. By Andrea Basso

Pages always display on startup to fix bug #1120825.

338. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

339. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

340. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

341. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

342. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

343. By Rico Tzschichholz

build: explictly link against libm

344. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

345. By Tom Beckmann

Allow using KP_Enter to trigger execute

346. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

347. By Cody Garver

Add 'make dist' command for creating release tarball to fix bug #1076823. Approved by David Gomes.

348. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

349. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

350. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

351. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

352. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

353. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

354. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

355. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

356. By Cody Garver

Release 0.7.1

357. By Julien Spautz

Fix bug #1084150

358. By Julien Spautz

Fixes bug #1099602

359. By Julien Spautz

Fixes bug #1152844 by removing "KP_" from the key name and thus mapping keypad keys to their "normal" equivalent.

I also added support for Home and End, switching to the first/last page or category.

Alt + n switches to the nth page, Alt+0 to the last one. This might need some designer input, but I thinks it's a neat feature, and consistent with DynamicNotebook's behaviour.

360. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

361. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

362. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

363. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

364. By Cody Garver

Release 0.7.2

365. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

366. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

367. By Marcus Lundgren

Change view modes with Ctrl + n, fixing bug #1182740.

368. By Tigran Gabrielyan

Only use OptionContext parser if we have args to avoid slow down in startup time to fix bug #1043689.

369. By Cody Garver

Release 0.7.3

370. By Rico Tzschichholz

Fix build with valac 0.21.1

371. By Julien Spautz

Fixed bug #1200223 and Slingshot now orders accented-name apps too.

372. By Airlangga Cahya Utama

Make it so that Chromium, Wine and other third party apps show up on Slingshot.

373. By Airlangga Cahya Utama

Fixed bug #1211562 by forcing listen to Home and End keys.

374. By Cody Garver

Release 0.7.4

375. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

376. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

377. By Tigran Gabrielyan

Fix fallback methods of finding an apps icon to work in all views. Fixes bug #1072036.

378. By Tigran Gabrielyan

Accept ctrl+shift+v as paste in search Edit to fix bug #1084887.

379. By Tigran Gabrielyan

Fix previous commit. Couldn't type "v" in searchbar.

380. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

381. By Raphael Isemann

Code style cleanup.

382. By Tigran Gabrielyan

Fixed bug #1221557, pressing Escape on Slingshot now works as expected.

If the search bar is empty, it will hide() Slingshot, but if there's text on it, it'll clear the text entry.

383. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

384. By Cody Garver

Release 0.7.5

385. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

386. By Jeremy Wootten

Prevents infinite loop in key_press_event handling when an input manager (ibus) is active, which appears to be due to a bug in either Gtk3 or ibus, by using an event box and custom handler rather than overriding the default handler.

Two other minor changes:
1) prevent some critical error messages when apps have no keywords.
2) prevent critical error message due to empty_cat_label not being created.

Fixes bug #1213321.

387. By Jeremy Wootten

Connect to searchbar activate signal to detect Return key.

Fixes regression introduced by revision 386 by connecting to searchbar activate signal. The Enter/Return key press is now detected.

388. By Jeremy Wootten

Whitelist ibus-setup to fix bug #1103660.

389. By Cody Garver

Silence C compilation warnings.

390. By Cody Garver

Release 0.7.6

391. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

392. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

393. By Tigran Gabrielyan

1) Long pressing "Applications" button will no longer cause slingshot to be unclosable.

2) Clicking dock items with slingshot open will work with only 1 click, however, slingshot needs to be closed on mouse press, rather than mouse up. If that's an issue, that part will have to be reverted.

3) Slingshot will now close if topleft hotcorner is set to show slingshot.

4) Grab keyboard focus, prevents alt tab bug, and be consistent with other popovers/indicator menus

394. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

395. By Cody Garver

Release 0.7.6.1

396. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

Revision history for this message
Corentin Noël (tintou) wrote :

This branch can be modified as the vapi is now provided by vala on Isis

review: Needs Fixing
lp:~ricotz/slingshot/port-gmenu3 updated
397. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

398. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

399. By Corentin Noël

* Removed every using statement
* Changed VWidgets and HWidgets to Widgets with the corresponding orientation (Gtk deprecation)
* Ported Zeitgeist parts to version 2.0

400. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

401. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

402. By Pim Vullers <email address hidden>

Unity and Zeitgeist integration is now optional. Default is ON.

403. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

404. By Launchpad Translations on behalf of elementary-pantheon

Launchpad automatic translations update.

405. By Rico Tzschichholz

Port to libgnome-menu-3.0 API

Revision history for this message
Corentin Noël (tintou) :
review: Approve

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2014-01-31 17:57:40 +0000
+++ CMakeLists.txt 2014-02-23 17:08:29 +0000
@@ -54,7 +54,7 @@
54 message ("-- Zeitgeist integration disabled")54 message ("-- Zeitgeist integration disabled")
55endif ()55endif ()
5656
57set (CORE_DEPS "gobject-2.0;glib-2.0;gio-2.0;gio-unix-2.0;gee-1.0;libgnome-menu;libwnck-3.0;gdk-x11-3.0;${UNITY_DEPS};")57set (CORE_DEPS "gobject-2.0;glib-2.0;gio-2.0;gio-unix-2.0;gee-1.0;libgnome-menu-3.0;libwnck-3.0;gdk-x11-3.0;${UNITY_DEPS};")
58set (UI_DEPS "gtk+-3.0>=3.2.0;granite;${ZEITGEIST_DEPS};")58set (UI_DEPS "gtk+-3.0>=3.2.0;granite;${ZEITGEIST_DEPS};")
5959
60find_package (PkgConfig)60find_package (PkgConfig)
@@ -62,7 +62,7 @@
6262
63find_package (Vala REQUIRED)63find_package (Vala REQUIRED)
64include (ValaVersion)64include (ValaVersion)
65ensure_vala_version ("0.15.1" MINIMUM)65ensure_vala_version ("0.18.0" MINIMUM)
6666
67include (ValaPrecompile)67include (ValaPrecompile)
68vala_precompile (VALA_C ${APPNAME}68vala_precompile (VALA_C ${APPNAME}
6969
=== modified file 'src/Backend/App.vala'
--- src/Backend/App.vala 2014-01-31 17:57:40 +0000
+++ src/Backend/App.vala 2014-02-23 17:08:29 +0000
@@ -24,7 +24,7 @@
24 public string exec { get; private set; }24 public string exec { get; private set; }
25 public string icon_name { get; private set; default = ""; }25 public string icon_name { get; private set; default = ""; }
26 public string[] keywords { get; private set;}26 public string[] keywords { get; private set;}
27 public Gdk.Pixbuf icon { get; private set; }27 public Gdk.Pixbuf? icon { get; private set; default = null; }
28 public double popularity { get; set; }28 public double popularity { get; set; }
29 public double relevancy { get; set; }29 public double relevancy { get; set; }
30 public string desktop_path { get; private set; }30 public string desktop_path { get; private set; }
@@ -36,18 +36,34 @@
36 public signal void launched (App app);36 public signal void launched (App app);
3737
38 public App (GMenu.TreeEntry entry) {38 public App (GMenu.TreeEntry entry) {
39 name = entry.get_display_name ();39 unowned GLib.DesktopAppInfo info = entry.get_app_info ();
40 description = entry.get_comment () ?? name;40 name = info.get_display_name ().dup ();
41 exec = entry.get_exec ();41 description = info.get_description ().dup () ?? name;
42 exec = info.get_commandline ().dup ();
42 desktop_id = entry.get_desktop_file_id ();43 desktop_id = entry.get_desktop_file_id ();
43 icon_name = entry.get_icon () ?? "application-default-icon";
44 desktop_path = entry.get_desktop_file_path ();44 desktop_path = entry.get_desktop_file_path ();
45#if HAVE_UNITY45#if HAVE_UNITY
46 keywords = Unity.AppInfoManager.get_default ().get_keywords (desktop_id);46 keywords = Unity.AppInfoManager.get_default ().get_keywords (desktop_id);
47#endif47#endif
48 generic_name = entry.get_generic_name ();48 generic_name = info.get_generic_name ();
4949
50 update_icon ();50 if (info.get_icon () is ThemedIcon) {
51 icon_name = (info.get_icon () as ThemedIcon).get_names ()[0].dup ();
52 } else if (info.get_icon () is LoadableIcon) {
53 try {
54 var ios = (info.get_icon () as LoadableIcon).load (0, null, null);
55 icon = new Gdk.Pixbuf.from_stream_at_scale (ios, Slingshot.settings.icon_size,
56 Slingshot.settings.icon_size, true, null);
57 } catch {
58 icon_name = "application-default-icon";
59 }
60 } else {
61 icon_name = "application-default-icon";
62 }
63
64 if (icon == null)
65 update_icon ();
66
51 Slingshot.icon_theme.changed.connect (update_icon);67 Slingshot.icon_theme.changed.connect (update_icon);
52 }68 }
5369
5470
=== modified file 'src/Backend/AppSystem.vala'
--- src/Backend/AppSystem.vala 2014-01-31 15:20:32 +0000
+++ src/Backend/AppSystem.vala 2014-02-23 17:08:29 +0000
@@ -27,7 +27,6 @@
27#endif27#endif
2828
29 public signal void changed ();29 public signal void changed ();
30 private bool index_changed = false;
3130
32 construct {31 construct {
3332
@@ -36,43 +35,43 @@
36 rl_service.update_complete.connect (update_popularity);35 rl_service.update_complete.connect (update_popularity);
37#endif36#endif
3837
39 apps_menu = GMenu.Tree.lookup ("pantheon-applications.menu", GMenu.TreeFlags.INCLUDE_EXCLUDED);38 apps_menu = new GMenu.Tree ("pantheon-applications.menu", GMenu.TreeFlags.INCLUDE_EXCLUDED | GMenu.TreeFlags.SORT_DISPLAY_NAME);
40 apps_menu.add_monitor ((menu) => {39 apps_menu.changed.connect (update_app_system);
4140
42 debug ("Apps menu tree changed. Updating…");41 apps = new Gee.HashMap<string, Gee.ArrayList<App>> ();
43 index_changed = true;42 categories = new Gee.ArrayList<GMenu.TreeDirectory> ();
44 update_app_system ();43
45 changed ();
46
47 });
48
49 apps_menu.set_sort_key (GMenu.TreeSortKey.DISPLAY_NAME);
50 update_app_system ();44 update_app_system ();
5145
52 }46 }
5347
54 private void update_app_system () {48 private void update_app_system () {
5549
50 debug ("Updating Applications menu tree...");
56#if HAVE_ZEITGEIST51#if HAVE_ZEITGEIST
57 rl_service.refresh_popularity ();52 rl_service.refresh_popularity ();
58#endif53#endif
5954
55 apps_menu.load_sync ();
56
60 update_categories_index ();57 update_categories_index ();
61 update_apps ();58 update_apps ();
6259
60 changed ();
61
63 }62 }
6463
65 private void update_categories_index () {64 private void update_categories_index () {
6665
67 var root_tree = apps_menu.get_root_directory ();66 categories.clear ();
6867
69 if (categories == null || index_changed) {68 var iter = apps_menu.get_root_directory ().iter ();
70 categories = new Gee.ArrayList<GMenu.TreeDirectory> ();69 GMenu.TreeItemType type;
7170 while ((type = iter.next ()) != GMenu.TreeItemType.INVALID) {
72 foreach (GMenu.TreeItem item in root_tree.get_contents ()) {71 if (type == GMenu.TreeItemType.DIRECTORY) {
73 if (item.get_type () == GMenu.TreeItemType.DIRECTORY)72 var dir = iter.get_directory ();
74 if (((GMenu.TreeDirectory) item).get_is_nodisplay () == false)73 if (!dir.get_is_nodisplay ())
75 categories.add ((GMenu.TreeDirectory) item);74 categories.add (dir);
76 }75 }
77 }76 }
7877
@@ -89,21 +88,10 @@
8988
90 private void update_apps () {89 private void update_apps () {
9190
92 if (index_changed) {91 apps.clear ();
93 apps.clear ();92
94 apps = null;93 foreach (var cat in categories)
95 index_changed = false;94 apps.set (cat.get_name (), get_apps_by_category (cat));
96 }
97
98 if (apps == null) {
99
100 apps = new Gee.HashMap<string, Gee.ArrayList<App>> ();
101
102 foreach (GMenu.TreeDirectory cat in categories) {
103 apps.set (cat.get_name (), get_apps_by_category (cat));
104 }
105
106 }
10795
108 }96 }
10997
@@ -117,39 +105,27 @@
117105
118 var app_list = new Gee.ArrayList<App> ();106 var app_list = new Gee.ArrayList<App> ();
119107
120 foreach (GMenu.TreeItem item in category.get_contents ()) {108 var iter = category.iter ();
121 App app;109 GMenu.TreeItemType type;
122 switch (item.get_type ()) {110 while ((type = iter.next ()) != GMenu.TreeItemType.INVALID) {
111 switch (type) {
123 case GMenu.TreeItemType.DIRECTORY:112 case GMenu.TreeItemType.DIRECTORY:
124 app_list.add_all (get_apps_by_category ((GMenu.TreeDirectory) item));113 app_list.add_all (get_apps_by_category (iter.get_directory ()));
125 break;114 break;
126 case GMenu.TreeItemType.ENTRY:115 case GMenu.TreeItemType.ENTRY:
127 if (is_entry ((GMenu.TreeEntry) item)) {116 var app = new App (iter.get_entry ());
128 app = new App ((GMenu.TreeEntry) item);
129#if HAVE_ZEITGEIST117#if HAVE_ZEITGEIST
130 app.launched.connect (rl_service.app_launched);118 app.launched.connect (rl_service.app_launched);
131#endif119#endif
132 app_list.add (app);120 app_list.add (app);
133 }
134 break;121 break;
135 }122 }
136 }123 }
124
137 return app_list;125 return app_list;
138126
139 }127 }
140128
141 private bool is_entry (GMenu.TreeEntry entry) {
142
143 if (entry.get_launch_in_terminal () == false
144 && entry.get_is_excluded () == false
145 && entry.get_is_nodisplay () == false) {
146 return true;
147 } else {
148 return false;
149 }
150
151 }
152
153 public Gee.HashMap<string, Gee.ArrayList<App>> get_apps () {129 public Gee.HashMap<string, Gee.ArrayList<App>> get_apps () {
154130
155 return apps;131 return apps;

Subscribers

People subscribed via source and target branches