summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorg Schuler <jcsjcs@users.sourceforge.net>2006-09-26 14:53:17 +0000
committerJorg Schuler <jcsjcs@users.sourceforge.net>2006-09-26 14:53:17 +0000
commit1b5011c68b6192806eb6be8c189a4cf19d27ff8e (patch)
treeb12dd004880e1621bb42b5364dab69a7f25cbe12
parent29613398a7f8ee8396001980d9e25d6b1e121331 (diff)
downloadlibgpod-tmz-1b5011c68b6192806eb6be8c189a4cf19d27ff8e.tar.gz
libgpod-tmz-1b5011c68b6192806eb6be8c189a4cf19d27ff8e.tar.xz
libgpod-tmz-1b5011c68b6192806eb6be8c189a4cf19d27ff8e.zip
* po/sv.po: updated version by Stefan Asserhall
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1323 f01d2545-417e-4e96-918e-98f8d0dbbcb6
-rw-r--r--ChangeLog4
-rw-r--r--po/sv.po130
-rw-r--r--src/itdb.h4
-rw-r--r--src/itdb_photoalbum.c84
-rw-r--r--tests/test-photos.c50
5 files changed, 204 insertions, 68 deletions
diff --git a/ChangeLog b/ChangeLog
index bcdc9ea..8b7217f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-09-26 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+ * po/sv.po: updated version by Stefan Asserhall
+
2006-09-24 Jorg Schuler <jcsjcs at users.sourceforge.net>
* po/es.po: updated version by Alejandro Lamas Daviña
diff --git a/po/sv.po b/po/sv.po
index 6345f10..619b9fc 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: sv\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-09-24 18:02+0900\n"
-"PO-Revision-Date: 2006-05-26 00:41+0900\n"
+"PO-Revision-Date: 2006-09-25 21:57+0200\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@comhem.se>\n"
"Language-Team: Svenska <sv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.11.2\n"
+"X-Generator: KBabel 1.11.4\n"
#: ../src/db-artwork-parser.c:133
#, c-format
@@ -36,7 +36,7 @@ msgstr "Oväntat mhsd index: %d\n"
#: ../src/db-image-parser.c:118
#, c-format
msgid "Unexpected image type in mhni: size: %ux%u (%d), offset: %d\n"
-msgstr ""
+msgstr "Oväntad bildtyp i mhni: storlek: %ux%u (%d), position: %d\n"
#: ../src/itdb_artwork.c:306
#, c-format
@@ -63,128 +63,128 @@ msgstr ""
#: ../src/itdb_device.c:170
msgid "Invalid"
-msgstr ""
+msgstr "Ogiltig"
#: ../src/itdb_device.c:171 ../src/itdb_device.c:197
msgid "Unknown"
-msgstr ""
+msgstr "Okänd"
#: ../src/itdb_device.c:172
msgid "Color"
-msgstr ""
+msgstr "Färg"
#: ../src/itdb_device.c:173
msgid "Color U2"
-msgstr ""
+msgstr "Färg U2"
#: ../src/itdb_device.c:174
msgid "Grayscale"
-msgstr ""
+msgstr "Gråskala"
#: ../src/itdb_device.c:175
msgid "Grayscale U2"
-msgstr ""
+msgstr "Gråskala U2"
#: ../src/itdb_device.c:176
msgid "Mini (Silver)"
-msgstr ""
+msgstr "Mini (silver)"
#: ../src/itdb_device.c:177
msgid "Mini (Blue)"
-msgstr ""
+msgstr "Mini (blå)"
#: ../src/itdb_device.c:178
msgid "Mini (Pink)"
-msgstr ""
+msgstr "Mini (rosa)"
#: ../src/itdb_device.c:179
msgid "Mini (Green)"
-msgstr ""
+msgstr "Mini (grön)"
#: ../src/itdb_device.c:180
msgid "Mini (Gold)"
-msgstr ""
+msgstr "Mini (guld)"
#: ../src/itdb_device.c:181
msgid "Shuffle"
-msgstr ""
+msgstr "Shuffle"
#: ../src/itdb_device.c:182
msgid "Nano (White)"
-msgstr ""
+msgstr "Nano (vit)"
#: ../src/itdb_device.c:183
msgid "Nano (Black)"
-msgstr ""
+msgstr "Nano (svart)"
#: ../src/itdb_device.c:184
msgid "Video (White)"
-msgstr ""
+msgstr "Video (vit)"
#: ../src/itdb_device.c:185
msgid "Video (Black)"
-msgstr ""
+msgstr "Video (svart)"
#: ../src/itdb_device.c:186
msgid "Mobile (1)"
-msgstr ""
+msgstr "Mobil (1)"
#: ../src/itdb_device.c:187
msgid "Video U2"
-msgstr ""
+msgstr "Video U2"
#: ../src/itdb_device.c:188
msgid "Nano (Silver)"
-msgstr ""
+msgstr "Nano (silver)"
#: ../src/itdb_device.c:189
msgid "Nano (Blue)"
-msgstr ""
+msgstr "Nano (blå)"
#: ../src/itdb_device.c:190
msgid "Nano (Green)"
-msgstr ""
+msgstr "Nano (grön)"
#: ../src/itdb_device.c:191
msgid "Nano (Pink)"
-msgstr ""
+msgstr "Nano (rosa)"
#: ../src/itdb_device.c:198
msgid "First Generation"
-msgstr ""
+msgstr "Första generationen"
#: ../src/itdb_device.c:199
msgid "Second Generation"
-msgstr ""
+msgstr "Andra generationen"
#: ../src/itdb_device.c:200
msgid "Third Generation"
-msgstr ""
+msgstr "Tredje generationen"
#: ../src/itdb_device.c:201
msgid "Fourth Generation"
-msgstr ""
+msgstr "Fjärde generationen"
#: ../src/itdb_device.c:202
msgid "Fifth Generation"
-msgstr ""
+msgstr "Femte generationen"
#: ../src/itdb_device.c:203
msgid "Sixth Generation"
-msgstr ""
+msgstr "Sjätte generationen"
#: ../src/itdb_device.c:204
msgid "Mobile Phone"
-msgstr ""
+msgstr "Mobiltelefon"
#: ../src/itdb_device.c:449
-#, fuzzy, c-format
+#, c-format
msgid "Could not open '%s' for writing."
-msgstr "Fel när '%s' skulle öppnas för skrivning (%s)."
+msgstr "Kunde inte öppna '%s' för skrivning."
#: ../src/itdb_device.c:458
msgid "Device directory does not exist."
-msgstr ""
+msgstr "Enhetskatalog finns inte."
#: ../src/itdb_itunesdb.c:371
#, c-format
@@ -243,13 +243,11 @@ msgstr ""
#: ../src/itdb_itunesdb.c:1514
#, c-format
msgid "iTunesDB corrupt: hunk length 0 for hunk at %ld in file '%s'."
-msgstr ""
-"iTunes databas skadad: Datalängd 0 för data på position %ld i filen '%s'."
+msgstr "iTunes databas skadad: Datalängd 0 för data på position %ld i filen '%s'."
#: ../src/itdb_itunesdb.c:1527
#, c-format
-msgid ""
-"iTunesDB corrupt: no section '%s' found in section '%s' starting at %ld."
+msgid "iTunesDB corrupt: no section '%s' found in section '%s' starting at %ld."
msgstr ""
"iTunes databas skadad: Någon sektion '%s' hittades inte i sektion '%s' med "
"början på %ld."
@@ -259,8 +257,7 @@ msgstr ""
msgid ""
"header length of '%s' smaller than expected (%d < %d) at offset %ld in file "
"'%s'."
-msgstr ""
-"Huvudlängd för '%s' mindre än väntat (%d < %d) på position %ld i filen '%s'."
+msgstr "Huvudlängd för '%s' mindre än väntat (%d < %d) på position %ld i filen '%s'."
#: ../src/itdb_itunesdb.c:1626
#, c-format
@@ -333,8 +330,7 @@ msgstr "OTG-spellistefil ('%s'): Huvudlängd mindre än väntat (%d < 20)"
#: ../src/itdb_itunesdb.c:2323
#, c-format
-msgid ""
-"OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
+msgid "OTG playlist file file ('%s'): entry length smaller than expected (%d<4)."
msgstr "OTG-spellistefil ('%s'): Postlängd mindre än väntat (%d < 4)"
#: ../src/itdb_itunesdb.c:2358
@@ -409,9 +405,9 @@ msgid "Cannot write mhod of type %d\n"
msgstr "Kan inte skriva mhod av typen %d\n"
#: ../src/itdb_itunesdb.c:4098
-#, fuzzy, c-format
+#, c-format
msgid "Opening of '%s' for writing failed (%s)."
-msgstr "Fel när '%s' skulle öppnas för skrivning."
+msgstr "Fel när '%s' skulle öppnas för skrivning (%s)."
#: ../src/itdb_itunesdb.c:4109 ../src/itdb_itunesdb.c:4120
#, c-format
@@ -470,17 +466,17 @@ msgstr "Fel när '%s' skulle stängas (%s)."
#: ../src/itdb_itunesdb.c:5526
msgid "iPod"
-msgstr ""
+msgstr "iPod"
#: ../src/itdb_itunesdb.c:5919
#, c-format
msgid "Problem creating iPod directory or file: '%s'."
-msgstr ""
+msgstr "Problem att skapa iPod-katalog eller fil: '%s'."
#: ../src/itdb_photoalbum.c:25
-#, fuzzy, c-format
+#, c-format
msgid "Photos directory not found: '%s' (or similar)."
-msgstr "Styrkatalog hittades inte: '%s' (eller liknande)."
+msgstr "Fotokatalog hittades inte: '%s' (eller liknande)."
#. New action!
#: ../src/itdb_playlist.c:78
@@ -490,49 +486,48 @@ msgstr "Okänd åtgärd (%d) i smart spellista kommer att ignoreras.\n"
#: ../tests/test-photos.c:116
msgid "Usage to add photos:\n"
-msgstr ""
+msgstr "Användning för att lägga till foton:\n"
#: ../tests/test-photos.c:117
#, c-format
msgid "%s <mountpoint> <albumname> <filename(s)>\n"
-msgstr ""
+msgstr "%s <monteringsplats> <albumnamn> <filnamn>\n"
#: ../tests/test-photos.c:118
-msgid ""
-"albumname should be set to 'master' to add photos to the master photo album\n"
-msgstr ""
+msgid "albumname should be set to 'master' to add photos to the master photo album\n"
+msgstr "albumnamn ska vara 'master' för att lägga till foton i huvudfotoalbumet\n"
#: ../tests/test-photos.c:119
msgid "\n"
-msgstr ""
+msgstr "\n"
#: ../tests/test-photos.c:120
msgid "Usage to dump all photos to <output_dir>:\n"
-msgstr ""
+msgstr "Användning för att lagra alla foton i <utdatakatalog>:\n"
#: ../tests/test-photos.c:121
#, c-format
msgid "%s dump <mountpoint> <output_dir>\n"
-msgstr ""
+msgstr "%s dump <monteringsplats> <utdatakatalog>\n"
#: ../tests/test-photos.c:133
-#, fuzzy, c-format
+#, c-format
msgid "Error creating '%s' (mkdir)\n"
-msgstr "Fel vid borttagning av '%s' (%s)."
+msgstr "Fel när '%s' skulle skapas (mkdir)\n"
#: ../tests/test-photos.c:139
#, c-format
msgid "Error: '%s' is not a directory\n"
-msgstr ""
+msgstr "Fel: '%s' är inte en katalog\n"
#: ../tests/test-photos.c:148
-#, fuzzy, c-format
+#, c-format
msgid "Error reading iPod photo database (%s).\n"
-msgstr "Fel vid byte av namn på '%s' till '%s' (%s)."
+msgstr "Fel vid vid läsning av iPod fotodatabas (%s).\n"
#: ../tests/test-photos.c:154
msgid "Error reading iPod photo database.\n"
-msgstr ""
+msgstr "Fel vid läsning av iPod fotodatabas.\n"
#: ../tests/test-photos.c:168
#, c-format
@@ -540,11 +535,10 @@ msgid ""
"Error reading iPod photo database (%s).\n"
"Will attempt to create a new database.\n"
msgstr ""
+"Fel vid läsning av iPod fotodatabas (%s).\n"
+"Försöker skapa en ny databas.\n"
#: ../tests/test-photos.c:174
-msgid ""
-"Error reading iPod photo database, will attempt to create a new database\n"
-msgstr ""
+msgid "Error reading iPod photo database, will attempt to create a new database\n"
+msgstr "Fel vid läsning av iPod fotodatabas, försöker skapa en ny databas\n"
-#~ msgid "Writing to '%s' failed."
-#~ msgstr "Fel vid skrivning till '%s'."
diff --git a/src/itdb.h b/src/itdb.h
index d51fac0..60e6c22 100644
--- a/src/itdb.h
+++ b/src/itdb.h
@@ -965,6 +965,10 @@ gboolean itdb_photodb_write (Itdb_PhotoDB *db, GError **error);
void itdb_photodb_photoalbum_free (Itdb_PhotoAlbum *pa);
gboolean itdb_photodb_remove_photo (Itdb_PhotoDB *db,
const gint photo_id );
+gboolean itdb_photodb_remove_photoalbum (Itdb_PhotoDB *db,
+ const gchar *album_name);
+gboolean itdb_photodb_rename_photoalbum (Itdb_PhotoDB *db,
+ const gchar *album_name, const gchar *new_album_name);
/* itdb_artwork_... */
Itdb_Artwork *itdb_artwork_new (void);
diff --git a/src/itdb_photoalbum.c b/src/itdb_photoalbum.c
index 003222d..f7d6039 100644
--- a/src/itdb_photoalbum.c
+++ b/src/itdb_photoalbum.c
@@ -367,6 +367,90 @@ gboolean itdb_photodb_remove_photo (Itdb_PhotoDB *db,
return result;
}
+/**
+ * itdb_photodb_remove_photoalbum
+ * @photodb: the #Itdb_PhotoDB to apply changes to
+ * @album_name: the name of the photoalbum to remove from the database
+ *
+ * Return value: TRUE on success, FALSE if the album specified by @album_name could not
+ * be found in the database.
+ */
+gboolean itdb_photodb_remove_photoalbum (Itdb_PhotoDB *db, const gchar *album_name)
+{
+ gboolean result = TRUE;
+ GList *it;
+
+ g_return_val_if_fail (db, FALSE);
+ g_return_val_if_fail (album_name, FALSE);
+
+ /* Remove all the photos within that album from the library */
+ for (it = db->photoalbums; it != NULL; it = it->next )
+ {
+ Itdb_PhotoAlbum *album;
+ GList *it2;
+
+ album = (Itdb_PhotoAlbum*)it->data;
+ g_return_val_if_fail (album, FALSE);
+ /* Have we found the desired album? */
+ if ( strcmp (album->name, album_name) == 0 )
+ {
+ /* iterate over the photos within that album and remove them from the database */
+ for (it2 = album->members; it2 != NULL; it2 = it2->next )
+ {
+ gint photo_id = GPOINTER_TO_INT(it2->data);
+ g_print (_("Deleting photo with id: %d\n"), photo_id);
+ result = itdb_photodb_remove_photo (db, photo_id);
+ if (result == FALSE)
+ break;
+ }
+ /* remove the album only if all members were successfully removed */
+ if (result == TRUE )
+ {
+ g_print (_("Successfuly remove album photos, removing album (%s) now.\n"), album_name );
+ db->photoalbums = g_list_remove (db->photoalbums, album);
+ }
+ return result;
+ }
+ }
+ /* If we made it here, then there was no album by that name */
+ return FALSE;
+}
+
+/**
+ * itdb_photodb_rename_photoalbum:
+ * @album_name: The album name (in the database, @db) to be renamed
+ * @new_album_name: The name which @album_name will be renamed to
+ *
+ * Rename the album given by @album_name to @new_album_name
+ *
+ * Return TRUE if successful, or FALSE if the album @album_name could not be found
+ */
+gboolean itdb_photodb_rename_photoalbum (Itdb_PhotoDB *db,
+ const gchar *album_name, const gchar *new_album_name)
+{
+ GList *it;
+
+ g_return_val_if_fail (db, FALSE);
+ g_return_val_if_fail (album_name, FALSE);
+ g_return_val_if_fail (new_album_name, FALSE);
+
+ for (it = db->photoalbums; it != NULL; it = it->next )
+ {
+ Itdb_PhotoAlbum *album;
+
+ album = (Itdb_PhotoAlbum*)it->data;
+ g_return_val_if_fail (album, FALSE);
+ /* Have we found the desired album? */
+ if (strcmp (album->name, album_name) == 0 )
+ {
+ strcpy (album->name,new_album_name);
+ return TRUE;
+ }
+ }
+ /* Obviously the source album wasn't found */
+ return FALSE;
+}
+
Itdb_PhotoAlbum *itdb_photodb_photoalbum_new (Itdb_PhotoDB *db,
const gchar *album_name)
{
diff --git a/tests/test-photos.c b/tests/test-photos.c
index a63d51b..7fae6a3 100644
--- a/tests/test-photos.c
+++ b/tests/test-photos.c
@@ -119,6 +119,12 @@ main (int argc, char **argv)
g_print (_("\n"));
g_print (_("Usage to dump all photos to <output_dir>:\n"));
g_print (_("%s dump <mountpoint> <output_dir>\n"), argv[0]);
+ g_print (_("\n"));
+ g_print (_("Usage to delete a photo album:\n"));
+ g_print (_("%s delete <mountpoint> <albumname>\n"), argv[0]);
+ g_print (_("\n"));
+ g_print (_("Usage to rename a photo album:\n"));
+ g_print (_("%s rename <mountpoint> <albumname> <new_albumname>\n"), argv[0]);
return 1;
}
setlocale (LC_ALL, "");
@@ -158,6 +164,50 @@ main (int argc, char **argv)
dump_albums (db, argv[3]);
itdb_photodb_free (db);
}
+ else if (strcmp (argv[1], "delete") == 0)
+ {
+ db = itdb_photodb_parse (argv[2], &error);
+ if (db == NULL)
+ {
+ if (error)
+ {
+ g_print (_("Error reading iPod photo database.(%s)\n"), error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ else
+ g_print (_("Error reading iPod photo database.\n"));
+
+ return 1;
+ }
+ itdb_photodb_remove_photoalbum( db, argv[3] );
+ g_print (_("Writing to the photo database.\n"));
+ itdb_photodb_write (db, &error);
+ g_print (_("Freeing the photo database.\n"));
+ itdb_photodb_free (db);
+ }
+ else if (strcmp (argv[1], "rename") == 0)
+ {
+ db = itdb_photodb_parse (argv[2], &error);
+ if (db == NULL)
+ {
+ if (error)
+ {
+ g_print (_("Error reading iPod photo database.(%s)\n"), error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ else
+ g_print (_("Error reading iPod photo database.\n"));
+
+ return 1;
+ }
+ itdb_photodb_rename_photoalbum( db, argv[3], argv[4] );
+ g_print (_("Writing to the photo database.\n"));
+ itdb_photodb_write (db, &error);
+ g_print (_("Freeing the photo database.\n"));
+ itdb_photodb_free (db);
+ }
else
{
db = itdb_photodb_parse (argv[1], &error);