From f3b36aad27cca3c05312fe4613a4218dc0f5872c Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sun, 17 Jul 2011 22:47:42 +0000 Subject: [PATCH] Improved plug-in support --- po/de.po | 62 ++++++++++++++++++++-------------------- po/es.po | 62 ++++++++++++++++++++-------------------- po/fr.po | 62 ++++++++++++++++++++-------------------- po/it.po | 62 ++++++++++++++++++++-------------------- src/browser.c | 62 +++++++++++++++++++++++++++++++++------- src/browser.h | 3 +- src/plugins/properties.c | 13 +++++---- 7 files changed, 186 insertions(+), 140 deletions(-) diff --git a/po/de.po b/po/de.po index e9b02fd..f09b35a 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Browser 0.1.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-18 00:00+0200\n" +"POT-Creation-Date: 2011-07-18 00:47+0200\n" "PO-Revision-Date: 2010-03-29 23:28+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: English\n" @@ -28,7 +28,7 @@ msgstr "Neu _Ordner" msgid "New _symbolic link..." msgstr "" -#: ../src/browser.c:106 ../src/browser.c:853 +#: ../src/browser.c:106 ../src/browser.c:877 msgid "Open file..." msgstr "Offnen..." @@ -165,19 +165,19 @@ msgstr "" msgid "View as..." msgstr "" -#: ../src/browser.c:328 ../src/browser.c:1939 ../src/browser.c:1947 +#: ../src/browser.c:328 ../src/browser.c:1963 ../src/browser.c:1971 msgid "Details" msgstr "" -#: ../src/browser.c:335 ../src/browser.c:1940 ../src/browser.c:1948 +#: ../src/browser.c:335 ../src/browser.c:1964 ../src/browser.c:1972 msgid "Icons" msgstr "" -#: ../src/browser.c:342 ../src/browser.c:1941 ../src/browser.c:1949 +#: ../src/browser.c:342 ../src/browser.c:1965 ../src/browser.c:1973 msgid "List" msgstr "" -#: ../src/browser.c:349 ../src/browser.c:1943 ../src/browser.c:1950 +#: ../src/browser.c:349 ../src/browser.c:1967 ../src/browser.c:1974 msgid "Thumbnails" msgstr "" @@ -185,7 +185,7 @@ msgstr "" msgid " Location: " msgstr "" -#: ../src/browser.c:680 ../src/browser.c:685 ../src/copy.c:674 +#: ../src/browser.c:698 ../src/browser.c:703 ../src/copy.c:674 #: ../src/copy.c:678 ../src/delete.c:421 ../src/delete.c:426 #: ../src/desktop.c:1647 ../src/desktop.c:1652 ../src/move.c:452 #: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122 @@ -193,101 +193,101 @@ msgstr "" msgid "Error" msgstr "Fehler" -#: ../src/browser.c:875 ../src/desktopicon.c:861 ../src/view.c:145 +#: ../src/browser.c:899 ../src/desktopicon.c:861 ../src/view.c:145 #: ../src/view.c:420 msgid "Open with..." msgstr "Offnen mit..." -#: ../src/browser.c:967 ../src/browser.c:1341 +#: ../src/browser.c:991 ../src/browser.c:1365 msgid "Refreshing folder: " msgstr "" -#: ../src/browser.c:988 +#: ../src/browser.c:1012 #, c-format msgid "%s%u file%c (%u hidden)" msgstr "" -#: ../src/browser.c:1643 +#: ../src/browser.c:1667 msgid "Filename" msgstr "" -#: ../src/browser.c:1645 +#: ../src/browser.c:1669 msgid "Size" msgstr "Größe" -#: ../src/browser.c:1647 +#: ../src/browser.c:1671 msgid "Owner" msgstr "" -#: ../src/browser.c:1649 +#: ../src/browser.c:1673 msgid "Group" msgstr "Gruppe" -#: ../src/browser.c:1651 +#: ../src/browser.c:1675 msgid "Date" msgstr "Datum" -#: ../src/browser.c:1653 +#: ../src/browser.c:1677 msgid "MIME type" msgstr "" -#: ../src/browser.c:1917 +#: ../src/browser.c:1941 msgid "File browser preferences" msgstr "File browser Einstellungen" -#: ../src/browser.c:1933 +#: ../src/browser.c:1957 msgid "Default view:" msgstr "" -#: ../src/browser.c:1957 +#: ../src/browser.c:1981 msgid "_Alternate row colors in detailed view" msgstr "" -#: ../src/browser.c:1961 +#: ../src/browser.c:1985 msgid "_Confirm before deletion" msgstr "_Bestätigen vor löschung" -#: ../src/browser.c:1964 +#: ../src/browser.c:1988 msgid "Sort _folders first" msgstr "List _Ordner zuerst" -#: ../src/browser.c:1967 +#: ../src/browser.c:1991 msgid "Show _hidden files" msgstr "" -#: ../src/browser.c:1970 +#: ../src/browser.c:1994 msgid "_Appearance" msgstr "" -#: ../src/browser.c:1979 ../src/browser.c:1984 +#: ../src/browser.c:2003 ../src/browser.c:2008 msgid "Type" msgstr "" -#: ../src/browser.c:2005 +#: ../src/browser.c:2029 msgid "_File associations" msgstr "" -#: ../src/browser.c:2055 +#: ../src/browser.c:2079 msgid "Edit file association" msgstr "" -#: ../src/browser.c:2068 +#: ../src/browser.c:2092 msgid "Type:" msgstr "" -#: ../src/browser.c:2077 +#: ../src/browser.c:2101 msgid "Open with:" msgstr "Offnen mit:" -#: ../src/browser.c:2088 +#: ../src/browser.c:2112 msgid "View with:" msgstr "" -#: ../src/browser.c:2099 +#: ../src/browser.c:2123 msgid "Edit with:" msgstr "" -#: ../src/browser.c:2243 +#: ../src/browser.c:2267 msgid "Refreshing folder..." msgstr "Aktualisierung..." diff --git a/po/es.po b/po/es.po index 6d55fa0..84f8527 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Browser 0.1.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-18 00:00+0200\n" +"POT-Creation-Date: 2011-07-18 00:47+0200\n" "PO-Revision-Date: 2010-03-30 01:04+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Spanish\n" @@ -28,7 +28,7 @@ msgstr "" msgid "New _symbolic link..." msgstr "" -#: ../src/browser.c:106 ../src/browser.c:853 +#: ../src/browser.c:106 ../src/browser.c:877 msgid "Open file..." msgstr "" @@ -165,19 +165,19 @@ msgstr "" msgid "View as..." msgstr "" -#: ../src/browser.c:328 ../src/browser.c:1939 ../src/browser.c:1947 +#: ../src/browser.c:328 ../src/browser.c:1963 ../src/browser.c:1971 msgid "Details" msgstr "" -#: ../src/browser.c:335 ../src/browser.c:1940 ../src/browser.c:1948 +#: ../src/browser.c:335 ../src/browser.c:1964 ../src/browser.c:1972 msgid "Icons" msgstr "" -#: ../src/browser.c:342 ../src/browser.c:1941 ../src/browser.c:1949 +#: ../src/browser.c:342 ../src/browser.c:1965 ../src/browser.c:1973 msgid "List" msgstr "" -#: ../src/browser.c:349 ../src/browser.c:1943 ../src/browser.c:1950 +#: ../src/browser.c:349 ../src/browser.c:1967 ../src/browser.c:1974 msgid "Thumbnails" msgstr "" @@ -185,7 +185,7 @@ msgstr "" msgid " Location: " msgstr "" -#: ../src/browser.c:680 ../src/browser.c:685 ../src/copy.c:674 +#: ../src/browser.c:698 ../src/browser.c:703 ../src/copy.c:674 #: ../src/copy.c:678 ../src/delete.c:421 ../src/delete.c:426 #: ../src/desktop.c:1647 ../src/desktop.c:1652 ../src/move.c:452 #: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122 @@ -193,101 +193,101 @@ msgstr "" msgid "Error" msgstr "" -#: ../src/browser.c:875 ../src/desktopicon.c:861 ../src/view.c:145 +#: ../src/browser.c:899 ../src/desktopicon.c:861 ../src/view.c:145 #: ../src/view.c:420 msgid "Open with..." msgstr "" -#: ../src/browser.c:967 ../src/browser.c:1341 +#: ../src/browser.c:991 ../src/browser.c:1365 msgid "Refreshing folder: " msgstr "" -#: ../src/browser.c:988 +#: ../src/browser.c:1012 #, c-format msgid "%s%u file%c (%u hidden)" msgstr "" -#: ../src/browser.c:1643 +#: ../src/browser.c:1667 msgid "Filename" msgstr "" -#: ../src/browser.c:1645 +#: ../src/browser.c:1669 msgid "Size" msgstr "" -#: ../src/browser.c:1647 +#: ../src/browser.c:1671 msgid "Owner" msgstr "" -#: ../src/browser.c:1649 +#: ../src/browser.c:1673 msgid "Group" msgstr "" -#: ../src/browser.c:1651 +#: ../src/browser.c:1675 msgid "Date" msgstr "" -#: ../src/browser.c:1653 +#: ../src/browser.c:1677 msgid "MIME type" msgstr "" -#: ../src/browser.c:1917 +#: ../src/browser.c:1941 msgid "File browser preferences" msgstr "File browser preferencias" -#: ../src/browser.c:1933 +#: ../src/browser.c:1957 msgid "Default view:" msgstr "" -#: ../src/browser.c:1957 +#: ../src/browser.c:1981 msgid "_Alternate row colors in detailed view" msgstr "" -#: ../src/browser.c:1961 +#: ../src/browser.c:1985 msgid "_Confirm before deletion" msgstr "" -#: ../src/browser.c:1964 +#: ../src/browser.c:1988 msgid "Sort _folders first" msgstr "" -#: ../src/browser.c:1967 +#: ../src/browser.c:1991 msgid "Show _hidden files" msgstr "" -#: ../src/browser.c:1970 +#: ../src/browser.c:1994 msgid "_Appearance" msgstr "" -#: ../src/browser.c:1979 ../src/browser.c:1984 +#: ../src/browser.c:2003 ../src/browser.c:2008 msgid "Type" msgstr "" -#: ../src/browser.c:2005 +#: ../src/browser.c:2029 msgid "_File associations" msgstr "" -#: ../src/browser.c:2055 +#: ../src/browser.c:2079 msgid "Edit file association" msgstr "" -#: ../src/browser.c:2068 +#: ../src/browser.c:2092 msgid "Type:" msgstr "" -#: ../src/browser.c:2077 +#: ../src/browser.c:2101 msgid "Open with:" msgstr "" -#: ../src/browser.c:2088 +#: ../src/browser.c:2112 msgid "View with:" msgstr "" -#: ../src/browser.c:2099 +#: ../src/browser.c:2123 msgid "Edit with:" msgstr "" -#: ../src/browser.c:2243 +#: ../src/browser.c:2267 msgid "Refreshing folder..." msgstr "" diff --git a/po/fr.po b/po/fr.po index 8300eaf..4d743b9 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Browser 0.1.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-18 00:00+0200\n" +"POT-Creation-Date: 2011-07-18 00:47+0200\n" "PO-Revision-Date: 2010-03-29 23:28+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: French\n" @@ -28,7 +28,7 @@ msgstr "Nouveau _dossier" msgid "New _symbolic link..." msgstr "Nouveau _lien symbolique..." -#: ../src/browser.c:106 ../src/browser.c:853 +#: ../src/browser.c:106 ../src/browser.c:877 msgid "Open file..." msgstr "Ouvrir..." @@ -165,19 +165,19 @@ msgstr "Gestionnaire de fichiers" msgid "View as..." msgstr "Vue..." -#: ../src/browser.c:328 ../src/browser.c:1939 ../src/browser.c:1947 +#: ../src/browser.c:328 ../src/browser.c:1963 ../src/browser.c:1971 msgid "Details" msgstr "Détails" -#: ../src/browser.c:335 ../src/browser.c:1940 ../src/browser.c:1948 +#: ../src/browser.c:335 ../src/browser.c:1964 ../src/browser.c:1972 msgid "Icons" msgstr "Icônes" -#: ../src/browser.c:342 ../src/browser.c:1941 ../src/browser.c:1949 +#: ../src/browser.c:342 ../src/browser.c:1965 ../src/browser.c:1973 msgid "List" msgstr "Liste" -#: ../src/browser.c:349 ../src/browser.c:1943 ../src/browser.c:1950 +#: ../src/browser.c:349 ../src/browser.c:1967 ../src/browser.c:1974 msgid "Thumbnails" msgstr "Vignettes" @@ -185,7 +185,7 @@ msgstr "Vignettes" msgid " Location: " msgstr " Chemin : " -#: ../src/browser.c:680 ../src/browser.c:685 ../src/copy.c:674 +#: ../src/browser.c:698 ../src/browser.c:703 ../src/copy.c:674 #: ../src/copy.c:678 ../src/delete.c:421 ../src/delete.c:426 #: ../src/desktop.c:1647 ../src/desktop.c:1652 ../src/move.c:452 #: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122 @@ -193,101 +193,101 @@ msgstr " Chemin : " msgid "Error" msgstr "Erreur" -#: ../src/browser.c:875 ../src/desktopicon.c:861 ../src/view.c:145 +#: ../src/browser.c:899 ../src/desktopicon.c:861 ../src/view.c:145 #: ../src/view.c:420 msgid "Open with..." msgstr "Ouvrir avec..." -#: ../src/browser.c:967 ../src/browser.c:1341 +#: ../src/browser.c:991 ../src/browser.c:1365 msgid "Refreshing folder: " msgstr "Actualisation du dossier : " -#: ../src/browser.c:988 +#: ../src/browser.c:1012 #, c-format msgid "%s%u file%c (%u hidden)" msgstr "%s%u fichier%c (%u cachés)" -#: ../src/browser.c:1643 +#: ../src/browser.c:1667 msgid "Filename" msgstr "Nom de fichier" -#: ../src/browser.c:1645 +#: ../src/browser.c:1669 msgid "Size" msgstr "Taille" -#: ../src/browser.c:1647 +#: ../src/browser.c:1671 msgid "Owner" msgstr "Propriétaire" -#: ../src/browser.c:1649 +#: ../src/browser.c:1673 msgid "Group" msgstr "Groupe" -#: ../src/browser.c:1651 +#: ../src/browser.c:1675 msgid "Date" msgstr "Date" -#: ../src/browser.c:1653 +#: ../src/browser.c:1677 msgid "MIME type" msgstr "Type MIME" -#: ../src/browser.c:1917 +#: ../src/browser.c:1941 msgid "File browser preferences" msgstr "Gestionnaire de fichiers - Préférences" -#: ../src/browser.c:1933 +#: ../src/browser.c:1957 msgid "Default view:" msgstr "Vue par défaut:" -#: ../src/browser.c:1957 +#: ../src/browser.c:1981 msgid "_Alternate row colors in detailed view" msgstr "_Alterner les couleurs dans la vue détaillée" -#: ../src/browser.c:1961 +#: ../src/browser.c:1985 msgid "_Confirm before deletion" msgstr "_Confirmer l'effacement" -#: ../src/browser.c:1964 +#: ../src/browser.c:1988 msgid "Sort _folders first" msgstr "_Dossiers affichés en premier" -#: ../src/browser.c:1967 +#: ../src/browser.c:1991 msgid "Show _hidden files" msgstr "Afficher les fichiers cac_hés" -#: ../src/browser.c:1970 +#: ../src/browser.c:1994 msgid "_Appearance" msgstr "_Apparence" -#: ../src/browser.c:1979 ../src/browser.c:1984 +#: ../src/browser.c:2003 ../src/browser.c:2008 msgid "Type" msgstr "Type" -#: ../src/browser.c:2005 +#: ../src/browser.c:2029 msgid "_File associations" msgstr "_Types de fichiers" -#: ../src/browser.c:2055 +#: ../src/browser.c:2079 msgid "Edit file association" msgstr "Modifier les associations de type" -#: ../src/browser.c:2068 +#: ../src/browser.c:2092 msgid "Type:" msgstr "Type :" -#: ../src/browser.c:2077 +#: ../src/browser.c:2101 msgid "Open with:" msgstr "Ouvrir avec :" -#: ../src/browser.c:2088 +#: ../src/browser.c:2112 msgid "View with:" msgstr "Visualiser avec :" -#: ../src/browser.c:2099 +#: ../src/browser.c:2123 msgid "Edit with:" msgstr "Modifier avec :" -#: ../src/browser.c:2243 +#: ../src/browser.c:2267 msgid "Refreshing folder..." msgstr "Actualisation du dossier..." diff --git a/po/it.po b/po/it.po index 9f38b88..7f583fb 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Browser 0.1.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-07-18 00:00+0200\n" +"POT-Creation-Date: 2011-07-18 00:47+0200\n" "PO-Revision-Date: 2010-04-07 23:18+0200\n" "Last-Translator: Pierre Pronchery \n" "Language-Team: Italian\n" @@ -28,7 +28,7 @@ msgstr "" msgid "New _symbolic link..." msgstr "" -#: ../src/browser.c:106 ../src/browser.c:853 +#: ../src/browser.c:106 ../src/browser.c:877 msgid "Open file..." msgstr "" @@ -165,19 +165,19 @@ msgstr "" msgid "View as..." msgstr "" -#: ../src/browser.c:328 ../src/browser.c:1939 ../src/browser.c:1947 +#: ../src/browser.c:328 ../src/browser.c:1963 ../src/browser.c:1971 msgid "Details" msgstr "" -#: ../src/browser.c:335 ../src/browser.c:1940 ../src/browser.c:1948 +#: ../src/browser.c:335 ../src/browser.c:1964 ../src/browser.c:1972 msgid "Icons" msgstr "" -#: ../src/browser.c:342 ../src/browser.c:1941 ../src/browser.c:1949 +#: ../src/browser.c:342 ../src/browser.c:1965 ../src/browser.c:1973 msgid "List" msgstr "" -#: ../src/browser.c:349 ../src/browser.c:1943 ../src/browser.c:1950 +#: ../src/browser.c:349 ../src/browser.c:1967 ../src/browser.c:1974 msgid "Thumbnails" msgstr "" @@ -185,7 +185,7 @@ msgstr "" msgid " Location: " msgstr "" -#: ../src/browser.c:680 ../src/browser.c:685 ../src/copy.c:674 +#: ../src/browser.c:698 ../src/browser.c:703 ../src/copy.c:674 #: ../src/copy.c:678 ../src/delete.c:421 ../src/delete.c:426 #: ../src/desktop.c:1647 ../src/desktop.c:1652 ../src/move.c:452 #: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122 @@ -193,101 +193,101 @@ msgstr "" msgid "Error" msgstr "" -#: ../src/browser.c:875 ../src/desktopicon.c:861 ../src/view.c:145 +#: ../src/browser.c:899 ../src/desktopicon.c:861 ../src/view.c:145 #: ../src/view.c:420 msgid "Open with..." msgstr "" -#: ../src/browser.c:967 ../src/browser.c:1341 +#: ../src/browser.c:991 ../src/browser.c:1365 msgid "Refreshing folder: " msgstr "" -#: ../src/browser.c:988 +#: ../src/browser.c:1012 #, c-format msgid "%s%u file%c (%u hidden)" msgstr "" -#: ../src/browser.c:1643 +#: ../src/browser.c:1667 msgid "Filename" msgstr "" -#: ../src/browser.c:1645 +#: ../src/browser.c:1669 msgid "Size" msgstr "" -#: ../src/browser.c:1647 +#: ../src/browser.c:1671 msgid "Owner" msgstr "" -#: ../src/browser.c:1649 +#: ../src/browser.c:1673 msgid "Group" msgstr "" -#: ../src/browser.c:1651 +#: ../src/browser.c:1675 msgid "Date" msgstr "" -#: ../src/browser.c:1653 +#: ../src/browser.c:1677 msgid "MIME type" msgstr "" -#: ../src/browser.c:1917 +#: ../src/browser.c:1941 msgid "File browser preferences" msgstr "" -#: ../src/browser.c:1933 +#: ../src/browser.c:1957 msgid "Default view:" msgstr "" -#: ../src/browser.c:1957 +#: ../src/browser.c:1981 msgid "_Alternate row colors in detailed view" msgstr "" -#: ../src/browser.c:1961 +#: ../src/browser.c:1985 msgid "_Confirm before deletion" msgstr "" -#: ../src/browser.c:1964 +#: ../src/browser.c:1988 msgid "Sort _folders first" msgstr "" -#: ../src/browser.c:1967 +#: ../src/browser.c:1991 msgid "Show _hidden files" msgstr "" -#: ../src/browser.c:1970 +#: ../src/browser.c:1994 msgid "_Appearance" msgstr "" -#: ../src/browser.c:1979 ../src/browser.c:1984 +#: ../src/browser.c:2003 ../src/browser.c:2008 msgid "Type" msgstr "" -#: ../src/browser.c:2005 +#: ../src/browser.c:2029 msgid "_File associations" msgstr "" -#: ../src/browser.c:2055 +#: ../src/browser.c:2079 msgid "Edit file association" msgstr "" -#: ../src/browser.c:2068 +#: ../src/browser.c:2092 msgid "Type:" msgstr "" -#: ../src/browser.c:2077 +#: ../src/browser.c:2101 msgid "Open with:" msgstr "" -#: ../src/browser.c:2088 +#: ../src/browser.c:2112 msgid "View with:" msgstr "" -#: ../src/browser.c:2099 +#: ../src/browser.c:2123 msgid "Edit with:" msgstr "" -#: ../src/browser.c:2243 +#: ../src/browser.c:2267 msgid "Refreshing folder..." msgstr "" diff --git a/src/browser.c b/src/browser.c index 4dfb299..66dcc28 100644 --- a/src/browser.c +++ b/src/browser.c @@ -394,8 +394,8 @@ Browser * browser_new(char const * directory) /* paned */ hpaned = gtk_hpaned_new(); /* plugins */ - widget = gtk_vbox_new(FALSE, 4); - gtk_container_border_width(GTK_CONTAINER(widget), 4); + browser->pl_view = gtk_vbox_new(FALSE, 4); + gtk_container_border_width(GTK_CONTAINER(browser->pl_view), 4); browser->pl_store = gtk_list_store_new(BPC_COUNT, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_POINTER); browser->pl_combo = gtk_combo_box_new_with_model(GTK_TREE_MODEL( @@ -407,10 +407,13 @@ Browser * browser_new(char const * directory) renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(browser->pl_combo), renderer, "text", BPC_NAME, NULL); - gtk_box_pack_start(GTK_BOX(widget), browser->pl_combo, FALSE, TRUE, 0); - browser->pl_view = gtk_vbox_new(FALSE, 4); - gtk_box_pack_start(GTK_BOX(widget), browser->pl_view, TRUE, TRUE, 0); - gtk_paned_add1(GTK_PANED(hpaned), widget); + gtk_box_pack_start(GTK_BOX(browser->pl_view), browser->pl_combo, FALSE, + TRUE, 0); + browser->pl_box = gtk_vbox_new(FALSE, 4); + gtk_box_pack_start(GTK_BOX(browser->pl_view), browser->pl_box, TRUE, + TRUE, 0); + gtk_paned_add1(GTK_PANED(hpaned), browser->pl_view); + gtk_widget_set_no_show_all(browser->pl_view, TRUE); /* view */ browser->scrolled = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(browser->scrolled), @@ -605,6 +608,21 @@ Browser * browser_new_copy(Browser * browser) /* browser_delete */ void browser_delete(Browser * browser) { + GtkTreeModel * model = GTK_TREE_MODEL(browser->pl_store); + GtkTreeIter iter; + gboolean valid; + BrowserPlugin * bp; + Plugin * plugin; + + for(valid = gtk_tree_model_get_iter_first(model, &iter); valid == TRUE; + valid = gtk_tree_model_iter_next(model, &iter)) + { + gtk_tree_model_get(model, &iter, BPC_PLUGIN, &plugin, + BPC_BROWSERPLUGIN, &bp, -1); + if(bp->destroy != NULL) + bp->destroy(bp); + plugin_delete(plugin); + } if(browser->config != NULL) config_delete(browser->config); gtk_widget_hide(browser->window); @@ -838,7 +856,13 @@ int browser_load(Browser * browser, char const * plugin) gtk_list_store_set(browser->pl_store, &iter, BPC_NAME, bp->name, BPC_PLUGIN, p, BPC_BROWSERPLUGIN, bp, BPC_WIDGET, widget, -1); - gtk_box_pack_start(GTK_BOX(browser->pl_view), widget, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(browser->pl_box), widget, TRUE, TRUE, 0); + if(gtk_widget_get_no_show_all(browser->pl_view) == TRUE) + { + gtk_combo_box_set_active(GTK_COMBO_BOX(browser->pl_combo), 0); + gtk_widget_set_no_show_all(browser->pl_view, FALSE); + gtk_widget_show_all(browser->pl_view); + } return 0; } @@ -1347,8 +1371,8 @@ static int _current_loop(Browser * browser) g_free(path); return 0; } - valid = gtk_tree_model_get_iter_first(model, &iter); - for(; valid == TRUE; valid = gtk_tree_model_iter_next(model, &iter)) + for(valid = gtk_tree_model_get_iter_first(model, &iter); valid == TRUE; + valid = gtk_tree_model_iter_next(model, &iter)) { gtk_tree_model_get(model, &iter, BR_COL_INODE, &inode, -1); if(inode == lst.st_ino) @@ -2384,5 +2408,23 @@ static int _config_save_boolean(Config * config, char const * variable, /* browser_on_plugin_combo */ static void _browser_on_plugin_combo_change(gpointer data) { - /* FIXME implement */ + Browser * browser = data; + GtkTreeModel * model = GTK_TREE_MODEL(browser->pl_store); + GtkTreeIter iter; + gboolean valid; + GtkWidget * widget; + + for(valid = gtk_tree_model_get_iter_first(model, &iter); valid == TRUE; + valid = gtk_tree_model_iter_next(model, &iter)) + { + gtk_tree_model_get(GTK_TREE_MODEL(browser->pl_store), &iter, + BPC_WIDGET, &widget, -1); + gtk_widget_hide(widget); + } + if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(browser->pl_combo), + &iter) != TRUE) + return; + gtk_tree_model_get(GTK_TREE_MODEL(browser->pl_store), &iter, BPC_WIDGET, + &widget, -1); + gtk_widget_show(widget); } diff --git a/src/browser.h b/src/browser.h index 8c439c5..4820ff2 100644 --- a/src/browser.h +++ b/src/browser.h @@ -142,9 +142,10 @@ struct _Browser GtkWidget * statusbar; guint statusbar_id; /* plugins */ + GtkWidget * pl_view; GtkListStore * pl_store; GtkWidget * pl_combo; - GtkWidget * pl_view; + GtkWidget * pl_box; /* preferences */ GtkWidget * pr_window; #if GTK_CHECK_VERSION(2, 6, 0) diff --git a/src/plugins/properties.c b/src/plugins/properties.c index b7713f0..fb83e32 100644 --- a/src/plugins/properties.c +++ b/src/plugins/properties.c @@ -24,7 +24,7 @@ /* types */ typedef struct _Properties { - GtkWidget * vbox; + GtkWidget * view; } Properties; @@ -51,15 +51,17 @@ BrowserPlugin plugin = static GtkWidget * _properties_init(BrowserPlugin * plugin) { Properties * properties; + GtkWidget * widget; if((properties = object_new(sizeof(*properties))) == NULL) return NULL; plugin->priv = properties; - properties->vbox = gtk_vbox_new(FALSE, 4); + properties->view = gtk_vbox_new(FALSE, 4); /* FIXME really implement */ - gtk_box_pack_start(GTK_BOX(properties->vbox), gtk_label_new("Folder"), - FALSE, TRUE, 0); - return properties->vbox; + widget = gtk_label_new("Folder"); + gtk_box_pack_start(GTK_BOX(properties->view), widget, FALSE, TRUE, 0); + gtk_widget_show(widget); + return properties->view; } @@ -68,5 +70,6 @@ static void _properties_destroy(BrowserPlugin * plugin) { Properties * properties = plugin->priv; + gtk_widget_destroy(properties->view); object_delete(properties); }