Being some more efficient when refreshing the homescreen

This commit is contained in:
Pierre Pronchery 2011-02-19 21:46:27 +00:00
parent c080c763c7
commit 0726748f55
5 changed files with 104 additions and 95 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-02-19 22:33+0100\n"
"POT-Creation-Date: 2011-02-19 22:45+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: English\n"
@ -113,7 +113,7 @@ msgstr ""
msgid "_Help"
msgstr ""
#: ../src/browser.c:156 ../src/desktop.c:785 ../src/desktop.c:804
#: ../src/browser.c:156 ../src/desktop.c:786 ../src/desktop.c:805
msgid "Back"
msgstr ""
@ -129,7 +129,7 @@ msgstr ""
msgid "Refresh"
msgstr ""
#: ../src/browser.c:164 ../src/desktop.c:864
#: ../src/browser.c:164 ../src/desktop.c:865
msgid "Home"
msgstr "Persönlicher Ordner"
@ -187,7 +187,7 @@ msgstr ""
#: ../src/browser.c:592 ../src/browser.c:597 ../src/copy.c:668
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
#: ../src/desktop.c:1416 ../src/desktop.c:1421 ../src/move.c:452
#: ../src/desktop.c:1407 ../src/desktop.c:1412 ../src/move.c:452
#: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122
#: ../src/view.c:366 ../src/view.c:371
msgid "Error"
@ -263,7 +263,7 @@ msgstr ""
msgid "Refreshing folder..."
msgstr "Aktualisierung..."
#: ../src/callbacks.c:116 ../src/desktop.c:424
#: ../src/callbacks.c:116 ../src/desktop.c:425
msgid "New folder"
msgstr "Neu Ordner"
@ -282,19 +282,19 @@ msgstr ""
msgid "New"
msgstr "Neu"
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:335
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:336
msgid "Folder"
msgstr "Ordner"
#: ../src/callbacks.c:783 ../src/desktop.c:343
#: ../src/callbacks.c:783 ../src/desktop.c:344
msgid "Symbolic link..."
msgstr ""
#: ../src/callbacks.c:787 ../src/desktop.c:347
#: ../src/callbacks.c:787 ../src/desktop.c:348
msgid "Text file"
msgstr ""
#: ../src/callbacks.c:822 ../src/desktop.c:443
#: ../src/callbacks.c:822 ../src/desktop.c:444
msgid "New text file.txt"
msgstr ""
@ -436,43 +436,43 @@ msgid ""
" -r\tEquivalent to -R\n"
msgstr ""
#: ../src/desktop.c:500
#: ../src/desktop.c:501
msgid "Desktop preferences"
msgstr "Desktop Einstellungen"
#: ../src/desktop.c:520
#: ../src/desktop.c:521
msgid "Background: "
msgstr "Hintergrund: "
#: ../src/desktop.c:525
#: ../src/desktop.c:526
msgid "Background"
msgstr "Hintergrund"
#: ../src/desktop.c:531
#: ../src/desktop.c:532
msgid "Scaled"
msgstr ""
#: ../src/desktop.c:533
#: ../src/desktop.c:534
msgid "Scaled (keep ratio)"
msgstr ""
#: ../src/desktop.c:535
#: ../src/desktop.c:536
msgid "Tiled"
msgstr ""
#: ../src/desktop.c:541
#: ../src/desktop.c:542
msgid "Appearance"
msgstr ""
#: ../src/desktop.c:884
#: ../src/desktop.c:885
msgid "Applications"
msgstr ""
#: ../src/desktop.c:1465
#: ../src/desktop.c:1456
msgid "Could not load preferences"
msgstr ""
#: ../src/desktop.c:1545
#: ../src/desktop.c:1554
msgid ""
"Usage: desktop [-H|-V][-a|-c|-f|-h|-n][-m monitor]\n"
" -H\tPlace icons horizontally\n"

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-02-19 22:33+0100\n"
"POT-Creation-Date: 2011-02-19 22:45+0100\n"
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -113,7 +113,7 @@ msgstr ""
msgid "_Help"
msgstr ""
#: ../src/browser.c:156 ../src/desktop.c:785 ../src/desktop.c:804
#: ../src/browser.c:156 ../src/desktop.c:786 ../src/desktop.c:805
msgid "Back"
msgstr ""
@ -129,7 +129,7 @@ msgstr ""
msgid "Refresh"
msgstr ""
#: ../src/browser.c:164 ../src/desktop.c:864
#: ../src/browser.c:164 ../src/desktop.c:865
msgid "Home"
msgstr "Inicio"
@ -187,7 +187,7 @@ msgstr ""
#: ../src/browser.c:592 ../src/browser.c:597 ../src/copy.c:668
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
#: ../src/desktop.c:1416 ../src/desktop.c:1421 ../src/move.c:452
#: ../src/desktop.c:1407 ../src/desktop.c:1412 ../src/move.c:452
#: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122
#: ../src/view.c:366 ../src/view.c:371
msgid "Error"
@ -263,7 +263,7 @@ msgstr ""
msgid "Refreshing folder..."
msgstr ""
#: ../src/callbacks.c:116 ../src/desktop.c:424
#: ../src/callbacks.c:116 ../src/desktop.c:425
msgid "New folder"
msgstr ""
@ -282,19 +282,19 @@ msgstr ""
msgid "New"
msgstr ""
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:335
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:336
msgid "Folder"
msgstr ""
#: ../src/callbacks.c:783 ../src/desktop.c:343
#: ../src/callbacks.c:783 ../src/desktop.c:344
msgid "Symbolic link..."
msgstr ""
#: ../src/callbacks.c:787 ../src/desktop.c:347
#: ../src/callbacks.c:787 ../src/desktop.c:348
msgid "Text file"
msgstr ""
#: ../src/callbacks.c:822 ../src/desktop.c:443
#: ../src/callbacks.c:822 ../src/desktop.c:444
msgid "New text file.txt"
msgstr ""
@ -436,43 +436,43 @@ msgid ""
" -r\tEquivalent to -R\n"
msgstr ""
#: ../src/desktop.c:500
#: ../src/desktop.c:501
msgid "Desktop preferences"
msgstr "Desktop preferencias"
#: ../src/desktop.c:520
#: ../src/desktop.c:521
msgid "Background: "
msgstr ""
#: ../src/desktop.c:525
#: ../src/desktop.c:526
msgid "Background"
msgstr ""
#: ../src/desktop.c:531
#: ../src/desktop.c:532
msgid "Scaled"
msgstr ""
#: ../src/desktop.c:533
#: ../src/desktop.c:534
msgid "Scaled (keep ratio)"
msgstr ""
#: ../src/desktop.c:535
#: ../src/desktop.c:536
msgid "Tiled"
msgstr ""
#: ../src/desktop.c:541
#: ../src/desktop.c:542
msgid "Appearance"
msgstr ""
#: ../src/desktop.c:884
#: ../src/desktop.c:885
msgid "Applications"
msgstr ""
#: ../src/desktop.c:1465
#: ../src/desktop.c:1456
msgid "Could not load preferences"
msgstr ""
#: ../src/desktop.c:1545
#: ../src/desktop.c:1554
msgid ""
"Usage: desktop [-H|-V][-a|-c|-f|-h|-n][-m monitor]\n"
" -H\tPlace icons horizontally\n"

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-02-19 22:33+0100\n"
"POT-Creation-Date: 2011-02-19 22:45+0100\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: French\n"
@ -113,7 +113,7 @@ msgstr "_Vue"
msgid "_Help"
msgstr "_Aide"
#: ../src/browser.c:156 ../src/desktop.c:785 ../src/desktop.c:804
#: ../src/browser.c:156 ../src/desktop.c:786 ../src/desktop.c:805
msgid "Back"
msgstr "Retour"
@ -129,7 +129,7 @@ msgstr "Suivant"
msgid "Refresh"
msgstr "Rafraîchir"
#: ../src/browser.c:164 ../src/desktop.c:864
#: ../src/browser.c:164 ../src/desktop.c:865
msgid "Home"
msgstr "Dossier personnel"
@ -187,7 +187,7 @@ msgstr " Chemin: "
#: ../src/browser.c:592 ../src/browser.c:597 ../src/copy.c:668
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
#: ../src/desktop.c:1416 ../src/desktop.c:1421 ../src/move.c:452
#: ../src/desktop.c:1407 ../src/desktop.c:1412 ../src/move.c:452
#: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122
#: ../src/view.c:366 ../src/view.c:371
msgid "Error"
@ -263,7 +263,7 @@ msgstr "_Apparence"
msgid "Refreshing folder..."
msgstr "Actualisation du dossier..."
#: ../src/callbacks.c:116 ../src/desktop.c:424
#: ../src/callbacks.c:116 ../src/desktop.c:425
msgid "New folder"
msgstr "Nouveau dossier"
@ -282,19 +282,19 @@ msgstr "Voulez-vous vraiment effacer %lu fichier(s)?"
msgid "New"
msgstr "Nouveau"
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:335
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:336
msgid "Folder"
msgstr "Dossier"
#: ../src/callbacks.c:783 ../src/desktop.c:343
#: ../src/callbacks.c:783 ../src/desktop.c:344
msgid "Symbolic link..."
msgstr "Lien symbolique..."
#: ../src/callbacks.c:787 ../src/desktop.c:347
#: ../src/callbacks.c:787 ../src/desktop.c:348
msgid "Text file"
msgstr "Fichier texte"
#: ../src/callbacks.c:822 ../src/desktop.c:443
#: ../src/callbacks.c:822 ../src/desktop.c:444
msgid "New text file.txt"
msgstr "Nouveau fichier texte.txt"
@ -456,43 +456,43 @@ msgstr ""
" -R\tSupprimer récursivement\n"
" -r\tÉquivalent à -R\n"
#: ../src/desktop.c:500
#: ../src/desktop.c:501
msgid "Desktop preferences"
msgstr "Préférences du bureau"
#: ../src/desktop.c:520
#: ../src/desktop.c:521
msgid "Background: "
msgstr "Arrière-plan: "
#: ../src/desktop.c:525
#: ../src/desktop.c:526
msgid "Background"
msgstr "Arrière-plan"
#: ../src/desktop.c:531
#: ../src/desktop.c:532
msgid "Scaled"
msgstr "Étiré"
#: ../src/desktop.c:533
#: ../src/desktop.c:534
msgid "Scaled (keep ratio)"
msgstr "Étiré (sans déformer)"
#: ../src/desktop.c:535
#: ../src/desktop.c:536
msgid "Tiled"
msgstr "Mosaïque"
#: ../src/desktop.c:541
#: ../src/desktop.c:542
msgid "Appearance"
msgstr "Apparence"
#: ../src/desktop.c:884
#: ../src/desktop.c:885
msgid "Applications"
msgstr "Applications"
#: ../src/desktop.c:1465
#: ../src/desktop.c:1456
msgid "Could not load preferences"
msgstr "Impossible de charger les préférences"
#: ../src/desktop.c:1545
#: ../src/desktop.c:1554
msgid ""
"Usage: desktop [-H|-V][-a|-c|-f|-h|-n][-m monitor]\n"
" -H\tPlace icons horizontally\n"

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-02-19 22:33+0100\n"
"POT-Creation-Date: 2011-02-19 22:45+0100\n"
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -113,7 +113,7 @@ msgstr ""
msgid "_Help"
msgstr ""
#: ../src/browser.c:156 ../src/desktop.c:785 ../src/desktop.c:804
#: ../src/browser.c:156 ../src/desktop.c:786 ../src/desktop.c:805
msgid "Back"
msgstr ""
@ -129,7 +129,7 @@ msgstr ""
msgid "Refresh"
msgstr ""
#: ../src/browser.c:164 ../src/desktop.c:864
#: ../src/browser.c:164 ../src/desktop.c:865
msgid "Home"
msgstr ""
@ -187,7 +187,7 @@ msgstr ""
#: ../src/browser.c:592 ../src/browser.c:597 ../src/copy.c:668
#: ../src/copy.c:672 ../src/delete.c:421 ../src/delete.c:426
#: ../src/desktop.c:1416 ../src/desktop.c:1421 ../src/move.c:452
#: ../src/desktop.c:1407 ../src/desktop.c:1412 ../src/move.c:452
#: ../src/move.c:456 ../src/properties.c:118 ../src/properties.c:122
#: ../src/view.c:366 ../src/view.c:371
msgid "Error"
@ -263,7 +263,7 @@ msgstr ""
msgid "Refreshing folder..."
msgstr ""
#: ../src/callbacks.c:116 ../src/desktop.c:424
#: ../src/callbacks.c:116 ../src/desktop.c:425
msgid "New folder"
msgstr ""
@ -282,19 +282,19 @@ msgstr ""
msgid "New"
msgstr ""
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:335
#: ../src/callbacks.c:772 ../src/callbacks.c:776 ../src/desktop.c:336
msgid "Folder"
msgstr ""
#: ../src/callbacks.c:783 ../src/desktop.c:343
#: ../src/callbacks.c:783 ../src/desktop.c:344
msgid "Symbolic link..."
msgstr ""
#: ../src/callbacks.c:787 ../src/desktop.c:347
#: ../src/callbacks.c:787 ../src/desktop.c:348
msgid "Text file"
msgstr ""
#: ../src/callbacks.c:822 ../src/desktop.c:443
#: ../src/callbacks.c:822 ../src/desktop.c:444
msgid "New text file.txt"
msgstr ""
@ -436,43 +436,43 @@ msgid ""
" -r\tEquivalent to -R\n"
msgstr ""
#: ../src/desktop.c:500
#: ../src/desktop.c:501
msgid "Desktop preferences"
msgstr ""
#: ../src/desktop.c:520
#: ../src/desktop.c:521
msgid "Background: "
msgstr ""
#: ../src/desktop.c:525
#: ../src/desktop.c:526
msgid "Background"
msgstr ""
#: ../src/desktop.c:531
#: ../src/desktop.c:532
msgid "Scaled"
msgstr ""
#: ../src/desktop.c:533
#: ../src/desktop.c:534
msgid "Scaled (keep ratio)"
msgstr ""
#: ../src/desktop.c:535
#: ../src/desktop.c:536
msgid "Tiled"
msgstr ""
#: ../src/desktop.c:541
#: ../src/desktop.c:542
msgid "Appearance"
msgstr ""
#: ../src/desktop.c:884
#: ../src/desktop.c:885
msgid "Applications"
msgstr ""
#: ../src/desktop.c:1465
#: ../src/desktop.c:1456
msgid "Could not load preferences"
msgstr ""
#: ../src/desktop.c:1545
#: ../src/desktop.c:1554
msgid ""
"Usage: desktop [-H|-V][-a|-c|-f|-h|-n][-m monitor]\n"
" -H\tPlace icons horizontally\n"

View File

@ -155,6 +155,7 @@ static int _desktop_serror(Desktop * desktop, char const * message, int ret);
static Config * _desktop_get_config(Desktop * desktop);
static int _desktop_get_workarea(Desktop * desktop);
static int _desktop_icon_add(Desktop * desktop, DesktopIcon * icon);
static int _desktop_icon_remove(Desktop * desktop, DesktopIcon * icon);
@ -789,7 +790,7 @@ static int _layout_applications(Desktop * desktop)
DESKTOPICON_ICON_SIZE, 0, NULL);
if(icon != NULL)
desktopicon_set_icon(desktopicon, icon);
desktop_icon_add(desktop, desktopicon);
_desktop_icon_add(desktop, desktopicon);
}
return 0;
}
@ -809,7 +810,7 @@ static int _layout_categories(Desktop * desktop)
DESKTOPICON_ICON_SIZE, 0, NULL);
if(icon != NULL)
desktopicon_set_icon(desktopicon, icon);
desktop_icon_add(desktop, desktopicon);
_desktop_icon_add(desktop, desktopicon);
return 0;
}
@ -886,7 +887,7 @@ static int _layout_homescreen(Desktop * desktop)
return desktop_error(NULL, error_get(), 1);
desktopicon_set_callback(desktopicon, _layout_set_categories, NULL);
desktopicon_set_immutable(desktopicon, TRUE);
desktop_icon_add(desktop, desktopicon);
_desktop_icon_add(desktop, desktopicon);
icon = gtk_icon_theme_load_icon(desktop->theme, "gnome-applications",
DESKTOPICON_ICON_SIZE, 0, NULL);
if(icon != NULL)
@ -1042,7 +1043,7 @@ static int _current_loop_applications(Desktop * desktop)
continue;
if((icon = desktopicon_new_application(desktop, path)) == NULL)
continue;
desktop_icon_add(desktop, icon);
_desktop_icon_add(desktop, icon);
free(path);
config_delete(config);
return 0;
@ -1228,7 +1229,7 @@ static void _done_categories(Desktop * desktop)
if((q = config_get(config, section, "Categories")) == NULL)
{
icon = desktopicon_new_application(desktop, path);
desktop_icon_add(desktop, icon);
_desktop_icon_add(desktop, icon);
continue;
}
for(i = 0; (dc = &_desktop_categories[i]) != NULL &&
@ -1237,7 +1238,7 @@ static void _done_categories(Desktop * desktop)
if(dc->category == NULL)
{
icon = desktopicon_new_application(desktop, path);
desktop_icon_add(desktop, icon);
_desktop_icon_add(desktop, icon);
continue;
}
if(dc->show == TRUE)
@ -1245,7 +1246,7 @@ static void _done_categories(Desktop * desktop)
dc->show = TRUE;
icon = desktopicon_new_category(desktop, dc->name, dc->icon);
desktopicon_set_callback(icon, _done_categories_open, dc);
desktop_icon_add(desktop, icon);
_desktop_icon_add(desktop, icon);
}
}
@ -1280,18 +1281,8 @@ static gboolean _done_timeout(gpointer data)
/* desktop_icon_add */
void desktop_icon_add(Desktop * desktop, DesktopIcon * icon)
{
DesktopIcon ** p;
if((p = realloc(desktop->icon, sizeof(*p) * (desktop->icon_cnt + 1)))
== NULL)
{
desktop_error(desktop, desktopicon_get_name(icon), 0);
return;
}
desktop->icon = p;
desktop->icon[desktop->icon_cnt++] = icon;
desktop_icons_align(desktop);
desktopicon_show(icon);
if(_desktop_icon_add(desktop, icon) == 0)
desktop_icons_align(desktop);
}
@ -1515,6 +1506,24 @@ static int _desktop_get_workarea(Desktop * desktop)
}
/* desktop_icon_add */
static int _desktop_icon_add(Desktop * desktop, DesktopIcon * icon)
{
DesktopIcon ** p;
if((p = realloc(desktop->icon, sizeof(*p) * (desktop->icon_cnt + 1)))
== NULL)
{
desktop_error(desktop, desktopicon_get_name(icon), 0);
return -1;
}
desktop->icon = p;
desktop->icon[desktop->icon_cnt++] = icon;
desktopicon_show(icon);
return 0;
}
/* desktop_icon_remove */
static int _desktop_icon_remove(Desktop * desktop, DesktopIcon * icon)
{