Skip to content
Permalink
Browse files

use new mate-menus api

  • Loading branch information...
yetist authored and raveit65 committed Apr 27, 2018
1 parent 7137397 commit 7ba869d95f3c01323ecd617cdead6f7d03d0ae51
Showing with 24 additions and 30 deletions.
  1. +24 −30 libslab/app-shell.c
@@ -871,8 +871,9 @@ void
generate_categories (AppShellData * app_data)
{
MateMenuTreeDirectory *root_dir;
GSList *contents, *l;
gboolean need_misc = FALSE;
MateMenuTreeIter *iter;
MateMenuTreeItemType type;

if (!app_data->tree)
{
@@ -888,42 +889,35 @@ generate_categories (AppShellData * app_data)
}

}
root_dir = matemenu_tree_get_root_directory (app_data->tree);
if (root_dir)
contents = matemenu_tree_directory_get_contents (root_dir);
else
contents = NULL;
if (!root_dir || !contents)
{

if ((root_dir = matemenu_tree_get_root_directory (app_data->tree)) == NULL ) {
GtkWidget *dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Failure loading - %s",
app_data->menu_name);
GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Failure loading - %s",
app_data->menu_name);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
exit (1); /* Fixme - is there a MATE/GTK way to do this. */
}

for (l = contents; l; l = l->next)
{
iter = matemenu_tree_directory_iter (root_dir);
while ((type = matemenu_tree_iter_next (iter)) != MATEMENU_TREE_ITEM_INVALID) {
gpointer item;
const char *category;
MateMenuTreeItem *item = l->data;

switch (matemenu_tree_item_get_type (item))
{
case MATEMENU_TREE_ITEM_DIRECTORY:
category = matemenu_tree_directory_get_name ((MateMenuTreeDirectory*)item);
generate_category(category, (MateMenuTreeDirectory*)item, app_data, TRUE);
break;
case MATEMENU_TREE_ITEM_ENTRY:
need_misc = TRUE;
break;
default:
break;
switch (type) {
case MATEMENU_TREE_ITEM_DIRECTORY:
item = matemenu_tree_iter_get_directory (iter);
category = matemenu_tree_directory_get_name (item);
generate_category(category, item, app_data, TRUE);
matemenu_tree_item_unref (item);
break;
case MATEMENU_TREE_ITEM_ENTRY:
need_misc = TRUE;
break;
default:
break;
}

matemenu_tree_item_unref (item);
}
g_slist_free (contents);
matemenu_tree_iter_unref(iter);

if (need_misc)
generate_category (_("Other"), root_dir, app_data, FALSE);
@@ -1034,7 +1028,7 @@ generate_launchers (MateMenuTreeDirectory * root_dir, AppShellData * app_data, C
MateMenuTreeIter *iter;
MateMenuTreeItemType type;

iter = matemenu_tree_directory_iter (directory);
iter = matemenu_tree_directory_iter (root_dir);
while ((type = matemenu_tree_iter_next (iter)) != MATEMENU_TREE_ITEM_INVALID) {
gpointer item;
switch (type) {
@@ -1075,10 +1069,10 @@ generate_launchers (MateMenuTreeDirectory * root_dir, AppShellData * app_data, C
matemenu_tree_item_unref (item);
break;
default:
g_assert_not_reached ();
break;
}
}
matemenu_tree_iter_unref(iter);
}

static void

0 comments on commit 7ba869d

Please sign in to comment.
You can’t perform that action at this time.