Only display thumbnail icons once the folder is fully refreshed

This commit is contained in:
Pierre Pronchery 2011-01-25 23:55:54 +00:00
parent 37696b97d0
commit cb1b36fb25
6 changed files with 129 additions and 86 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-22 00:48+0100\n"
"POT-Creation-Date: 2011-01-26 00:55+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: English\n"
@ -165,19 +165,19 @@ msgstr ""
msgid "View as..."
msgstr ""
#: ../src/browser.c:294 ../src/browser.c:1756
#: ../src/browser.c:294 ../src/browser.c:1798
msgid "Details"
msgstr ""
#: ../src/browser.c:301 ../src/browser.c:1757
#: ../src/browser.c:301 ../src/browser.c:1799
msgid "Icons"
msgstr ""
#: ../src/browser.c:308 ../src/browser.c:1758
#: ../src/browser.c:308 ../src/browser.c:1800
msgid "List"
msgstr ""
#: ../src/browser.c:315 ../src/browser.c:1759
#: ../src/browser.c:315 ../src/browser.c:1801
msgid "Thumbnails"
msgstr ""
@ -198,7 +198,7 @@ msgstr "Fehler"
msgid "Open with..."
msgstr "Offnen mit..."
#: ../src/browser.c:845 ../src/browser.c:1179
#: ../src/browser.c:845 ../src/browser.c:1221
msgid "Refreshing folder: "
msgstr ""
@ -207,59 +207,59 @@ msgstr ""
msgid "%s%u file%c (%u hidden)"
msgstr ""
#: ../src/browser.c:1481
#: ../src/browser.c:1523
msgid "Filename"
msgstr ""
#: ../src/browser.c:1483
#: ../src/browser.c:1525
msgid "Size"
msgstr "Größe"
#: ../src/browser.c:1485
#: ../src/browser.c:1527
msgid "Owner"
msgstr ""
#: ../src/browser.c:1487
#: ../src/browser.c:1529
msgid "Group"
msgstr "Gruppe"
#: ../src/browser.c:1489
#: ../src/browser.c:1531
msgid "Date"
msgstr "Datum"
#: ../src/browser.c:1491
#: ../src/browser.c:1533
msgid "MIME type"
msgstr ""
#: ../src/browser.c:1736
#: ../src/browser.c:1778
msgid "File browser preferences"
msgstr "File browser Einstellungen"
#: ../src/browser.c:1752
#: ../src/browser.c:1794
msgid "Default view:"
msgstr ""
#: ../src/browser.c:1765
#: ../src/browser.c:1807
msgid "_Alternate rows in detailed view"
msgstr ""
#: ../src/browser.c:1769
#: ../src/browser.c:1811
msgid "_Confirm before deletion"
msgstr "_Bestätigen vor löschung"
#: ../src/browser.c:1772
#: ../src/browser.c:1814
msgid "Sort _folders first"
msgstr "List _Ordner zuerst"
#: ../src/browser.c:1775
#: ../src/browser.c:1817
msgid "Show _hidden files"
msgstr ""
#: ../src/browser.c:1778
#: ../src/browser.c:1820
msgid "_Appearance"
msgstr ""
#: ../src/browser.c:1913
#: ../src/browser.c:1955
msgid "Refreshing folder..."
msgstr "Aktualisierung..."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-22 00:48+0100\n"
"POT-Creation-Date: 2011-01-26 00:55+0100\n"
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -165,19 +165,19 @@ msgstr ""
msgid "View as..."
msgstr ""
#: ../src/browser.c:294 ../src/browser.c:1756
#: ../src/browser.c:294 ../src/browser.c:1798
msgid "Details"
msgstr ""
#: ../src/browser.c:301 ../src/browser.c:1757
#: ../src/browser.c:301 ../src/browser.c:1799
msgid "Icons"
msgstr ""
#: ../src/browser.c:308 ../src/browser.c:1758
#: ../src/browser.c:308 ../src/browser.c:1800
msgid "List"
msgstr ""
#: ../src/browser.c:315 ../src/browser.c:1759
#: ../src/browser.c:315 ../src/browser.c:1801
msgid "Thumbnails"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
msgid "Open with..."
msgstr ""
#: ../src/browser.c:845 ../src/browser.c:1179
#: ../src/browser.c:845 ../src/browser.c:1221
msgid "Refreshing folder: "
msgstr ""
@ -207,59 +207,59 @@ msgstr ""
msgid "%s%u file%c (%u hidden)"
msgstr ""
#: ../src/browser.c:1481
#: ../src/browser.c:1523
msgid "Filename"
msgstr ""
#: ../src/browser.c:1483
#: ../src/browser.c:1525
msgid "Size"
msgstr ""
#: ../src/browser.c:1485
#: ../src/browser.c:1527
msgid "Owner"
msgstr ""
#: ../src/browser.c:1487
#: ../src/browser.c:1529
msgid "Group"
msgstr ""
#: ../src/browser.c:1489
#: ../src/browser.c:1531
msgid "Date"
msgstr ""
#: ../src/browser.c:1491
#: ../src/browser.c:1533
msgid "MIME type"
msgstr ""
#: ../src/browser.c:1736
#: ../src/browser.c:1778
msgid "File browser preferences"
msgstr "File browser preferencias"
#: ../src/browser.c:1752
#: ../src/browser.c:1794
msgid "Default view:"
msgstr ""
#: ../src/browser.c:1765
#: ../src/browser.c:1807
msgid "_Alternate rows in detailed view"
msgstr ""
#: ../src/browser.c:1769
#: ../src/browser.c:1811
msgid "_Confirm before deletion"
msgstr ""
#: ../src/browser.c:1772
#: ../src/browser.c:1814
msgid "Sort _folders first"
msgstr ""
#: ../src/browser.c:1775
#: ../src/browser.c:1817
msgid "Show _hidden files"
msgstr ""
#: ../src/browser.c:1778
#: ../src/browser.c:1820
msgid "_Appearance"
msgstr ""
#: ../src/browser.c:1913
#: ../src/browser.c:1955
msgid "Refreshing folder..."
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-22 00:48+0100\n"
"POT-Creation-Date: 2011-01-26 00:55+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: French\n"
@ -165,19 +165,19 @@ msgstr "Gestionnaire de fichiers"
msgid "View as..."
msgstr "Vue..."
#: ../src/browser.c:294 ../src/browser.c:1756
#: ../src/browser.c:294 ../src/browser.c:1798
msgid "Details"
msgstr "Détails"
#: ../src/browser.c:301 ../src/browser.c:1757
#: ../src/browser.c:301 ../src/browser.c:1799
msgid "Icons"
msgstr "Icônes"
#: ../src/browser.c:308 ../src/browser.c:1758
#: ../src/browser.c:308 ../src/browser.c:1800
msgid "List"
msgstr "Liste"
#: ../src/browser.c:315 ../src/browser.c:1759
#: ../src/browser.c:315 ../src/browser.c:1801
msgid "Thumbnails"
msgstr "Vignettes"
@ -198,7 +198,7 @@ msgstr "Erreur"
msgid "Open with..."
msgstr "Ouvrir avec..."
#: ../src/browser.c:845 ../src/browser.c:1179
#: ../src/browser.c:845 ../src/browser.c:1221
msgid "Refreshing folder: "
msgstr "Actualisation du dossier : "
@ -207,59 +207,59 @@ msgstr "Actualisation du dossier : "
msgid "%s%u file%c (%u hidden)"
msgstr "%s%u fichier%c (%u cachés)"
#: ../src/browser.c:1481
#: ../src/browser.c:1523
msgid "Filename"
msgstr "Nom de fichier"
#: ../src/browser.c:1483
#: ../src/browser.c:1525
msgid "Size"
msgstr "Taille"
#: ../src/browser.c:1485
#: ../src/browser.c:1527
msgid "Owner"
msgstr "Propriétaire"
#: ../src/browser.c:1487
#: ../src/browser.c:1529
msgid "Group"
msgstr "Groupe"
#: ../src/browser.c:1489
#: ../src/browser.c:1531
msgid "Date"
msgstr "Date"
#: ../src/browser.c:1491
#: ../src/browser.c:1533
msgid "MIME type"
msgstr "Type MIME"
#: ../src/browser.c:1736
#: ../src/browser.c:1778
msgid "File browser preferences"
msgstr "Gestionnaire de fichiers - Préférences"
#: ../src/browser.c:1752
#: ../src/browser.c:1794
msgid "Default view:"
msgstr "Vue par défaut:"
#: ../src/browser.c:1765
#: ../src/browser.c:1807
msgid "_Alternate rows in detailed view"
msgstr "_Alterner les couleurs dans la vue détaillée"
#: ../src/browser.c:1769
#: ../src/browser.c:1811
msgid "_Confirm before deletion"
msgstr "_Confirmer l'effacement"
#: ../src/browser.c:1772
#: ../src/browser.c:1814
msgid "Sort _folders first"
msgstr "_Dossiers affichés en premier"
#: ../src/browser.c:1775
#: ../src/browser.c:1817
msgid "Show _hidden files"
msgstr "Afficher les fichiers cac_hés"
#: ../src/browser.c:1778
#: ../src/browser.c:1820
msgid "_Appearance"
msgstr "_Apparence"
#: ../src/browser.c:1913
#: ../src/browser.c:1955
msgid "Refreshing folder..."
msgstr "Actualisation du dossier..."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Browser 0.1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-22 00:48+0100\n"
"POT-Creation-Date: 2011-01-26 00:55+0100\n"
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -165,19 +165,19 @@ msgstr ""
msgid "View as..."
msgstr ""
#: ../src/browser.c:294 ../src/browser.c:1756
#: ../src/browser.c:294 ../src/browser.c:1798
msgid "Details"
msgstr ""
#: ../src/browser.c:301 ../src/browser.c:1757
#: ../src/browser.c:301 ../src/browser.c:1799
msgid "Icons"
msgstr ""
#: ../src/browser.c:308 ../src/browser.c:1758
#: ../src/browser.c:308 ../src/browser.c:1800
msgid "List"
msgstr ""
#: ../src/browser.c:315 ../src/browser.c:1759
#: ../src/browser.c:315 ../src/browser.c:1801
msgid "Thumbnails"
msgstr ""
@ -198,7 +198,7 @@ msgstr ""
msgid "Open with..."
msgstr ""
#: ../src/browser.c:845 ../src/browser.c:1179
#: ../src/browser.c:845 ../src/browser.c:1221
msgid "Refreshing folder: "
msgstr ""
@ -207,59 +207,59 @@ msgstr ""
msgid "%s%u file%c (%u hidden)"
msgstr ""
#: ../src/browser.c:1481
#: ../src/browser.c:1523
msgid "Filename"
msgstr ""
#: ../src/browser.c:1483
#: ../src/browser.c:1525
msgid "Size"
msgstr ""
#: ../src/browser.c:1485
#: ../src/browser.c:1527
msgid "Owner"
msgstr ""
#: ../src/browser.c:1487
#: ../src/browser.c:1529
msgid "Group"
msgstr ""
#: ../src/browser.c:1489
#: ../src/browser.c:1531
msgid "Date"
msgstr ""
#: ../src/browser.c:1491
#: ../src/browser.c:1533
msgid "MIME type"
msgstr ""
#: ../src/browser.c:1736
#: ../src/browser.c:1778
msgid "File browser preferences"
msgstr ""
#: ../src/browser.c:1752
#: ../src/browser.c:1794
msgid "Default view:"
msgstr ""
#: ../src/browser.c:1765
#: ../src/browser.c:1807
msgid "_Alternate rows in detailed view"
msgstr ""
#: ../src/browser.c:1769
#: ../src/browser.c:1811
msgid "_Confirm before deletion"
msgstr ""
#: ../src/browser.c:1772
#: ../src/browser.c:1814
msgid "Sort _folders first"
msgstr ""
#: ../src/browser.c:1775
#: ../src/browser.c:1817
msgid "Show _hidden files"
msgstr ""
#: ../src/browser.c:1778
#: ../src/browser.c:1820
msgid "_Appearance"
msgstr ""
#: ../src/browser.c:1913
#: ../src/browser.c:1955
msgid "Refreshing folder..."
msgstr ""

View File

@ -981,17 +981,12 @@ static void _insert_all(Browser * browser, struct stat * lst, struct stat * st,
#endif
else if(browser->mime != NULL && *type == NULL
&& (*type = mime_type(browser->mime, path)) != NULL)
{
mime_icons(browser->mime, browser->theme, *type, 24, icon_24,
#if !GTK_CHECK_VERSION(2, 6, 0)
-1);
#else
48, icon_48, 96, icon_96, -1);
if(strncmp(*type, "image/", 6) == 0)
*icon_96 = gdk_pixbuf_new_from_file_at_size(path, 96,
96, NULL);
#endif
}
}
static char const * _insert_size(off_t size)
@ -1103,14 +1098,61 @@ static gboolean _refresh_new_idle(gpointer data)
return FALSE;
}
#if GTK_CHECK_VERSION(2, 6, 0)
static gboolean _done_thumbnails(gpointer data);
#endif
static gboolean _done_timeout(gpointer data);
static void _refresh_done(Browser * browser)
{
#if GTK_CHECK_VERSION(2, 6, 0)
GtkTreeModel * model = GTK_TREE_MODEL(browser->store);
GtkTreeIter * iter = &browser->refresh_iter;
#endif
closedir(browser->refresh_dir);
browser->refresh_dir = NULL;
browser->refresh_id = g_timeout_add(1000, _done_timeout, browser);
#if GTK_CHECK_VERSION(2, 6, 0)
if(gtk_tree_model_get_iter_first(model, iter) == TRUE)
browser->refresh_id = g_idle_add(_done_thumbnails, browser);
else
#endif
browser->refresh_id = g_timeout_add(1000, _done_timeout,
browser);
}
#if GTK_CHECK_VERSION(2, 6, 0)
static gboolean _done_thumbnails(gpointer data)
{
Browser * browser = data;
GtkTreeModel * model = GTK_TREE_MODEL(browser->store);
GtkTreeIter * iter = &browser->refresh_iter;
size_t i;
char * type;
char * path;
GdkPixbuf * icon;
for(i = 0; i < IDLE_LOOP_ICON_CNT; i++)
{
gtk_tree_model_get(model, iter, BR_COL_MIME_TYPE, &type,
BR_COL_PATH, &path, -1);
if(type != NULL && path != NULL
&& strncmp(type, "image/", 6) == 0
&& (icon = gdk_pixbuf_new_from_file_at_size(
path, 96, 96, NULL)) != NULL)
gtk_list_store_set(browser->store, iter,
BR_COL_PIXBUF_96, icon, -1);
free(type);
free(path);
if(gtk_tree_model_iter_next(model, iter) != TRUE)
break;
}
if(i == IDLE_LOOP_ICON_CNT)
return TRUE;
browser->refresh_id = g_timeout_add(1000, _done_timeout, browser);
return FALSE;
}
#endif
static gboolean _done_timeout(gpointer data)
{
Browser * browser = data;

View File

@ -106,6 +106,7 @@ typedef struct _Browser
time_t refresh_mti;
unsigned int refresh_cnt;
unsigned int refresh_hid;
GtkTreeIter refresh_iter;
/* selection */
GList * selection;