Can now update, commit and request diffs in directories as well

This commit is contained in:
Pierre Pronchery 2011-07-25 11:38:38 +00:00
parent ed2761a7fe
commit c99509be9b
5 changed files with 106 additions and 72 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-07-25 12:39+0200\n"
"POT-Creation-Date: 2011-07-25 13:36+0200\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: English\n"
@ -702,43 +702,47 @@ msgstr ""
msgid "Usage: view file...\n"
msgstr ""
#: ../src/plugins/cvs.c:108
#: ../src/plugins/cvs.c:113
msgid "CVS"
msgstr "CVS"
#: ../src/plugins/cvs.c:153
#: ../src/plugins/cvs.c:159
msgid "Root:"
msgstr ""
#: ../src/plugins/cvs.c:155
#: ../src/plugins/cvs.c:161
msgid "Repository:"
msgstr "Repository:"
#: ../src/plugins/cvs.c:157
#: ../src/plugins/cvs.c:163
msgid "Tag:"
msgstr ""
#: ../src/plugins/cvs.c:166
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:168
#: ../src/plugins/cvs.c:165 ../src/plugins/cvs.c:182
msgid "Request diff"
msgstr ""
#: ../src/plugins/cvs.c:171
#: ../src/plugins/cvs.c:168 ../src/plugins/cvs.c:185
msgid "Update"
msgstr ""
#: ../src/plugins/cvs.c:174
#: ../src/plugins/cvs.c:171 ../src/plugins/cvs.c:188
msgid "Commit"
msgstr ""
#: ../src/plugins/cvs.c:290 ../src/plugins/cvs.c:359
#: ../src/plugins/cvs.c:180
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:195
msgid "Run make"
msgstr ""
#: ../src/plugins/cvs.c:312 ../src/plugins/cvs.c:381
msgid "Not a CVS repository"
msgstr "Kein CVS Inhalt"
#: ../src/plugins/cvs.c:380
#: ../src/plugins/cvs.c:402
msgid "Not managed by CVS"
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-07-25 12:39+0200\n"
"POT-Creation-Date: 2011-07-25 13:36+0200\n"
"PO-Revision-Date: 2010-03-30 01:04+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -702,43 +702,47 @@ msgstr ""
msgid "Usage: view file...\n"
msgstr ""
#: ../src/plugins/cvs.c:108
#: ../src/plugins/cvs.c:113
msgid "CVS"
msgstr "CVS"
#: ../src/plugins/cvs.c:153
#: ../src/plugins/cvs.c:159
msgid "Root:"
msgstr ""
#: ../src/plugins/cvs.c:155
#: ../src/plugins/cvs.c:161
msgid "Repository:"
msgstr ""
#: ../src/plugins/cvs.c:157
#: ../src/plugins/cvs.c:163
msgid "Tag:"
msgstr ""
#: ../src/plugins/cvs.c:166
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:168
#: ../src/plugins/cvs.c:165 ../src/plugins/cvs.c:182
msgid "Request diff"
msgstr ""
#: ../src/plugins/cvs.c:171
#: ../src/plugins/cvs.c:168 ../src/plugins/cvs.c:185
msgid "Update"
msgstr ""
#: ../src/plugins/cvs.c:174
#: ../src/plugins/cvs.c:171 ../src/plugins/cvs.c:188
msgid "Commit"
msgstr ""
#: ../src/plugins/cvs.c:290 ../src/plugins/cvs.c:359
#: ../src/plugins/cvs.c:180
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:195
msgid "Run make"
msgstr ""
#: ../src/plugins/cvs.c:312 ../src/plugins/cvs.c:381
msgid "Not a CVS repository"
msgstr ""
#: ../src/plugins/cvs.c:380
#: ../src/plugins/cvs.c:402
msgid "Not managed by CVS"
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-07-25 12:39+0200\n"
"POT-Creation-Date: 2011-07-25 13:36+0200\n"
"PO-Revision-Date: 2010-03-29 23:28+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: French\n"
@ -736,43 +736,47 @@ msgstr "Impossible d'éditer le fichier"
msgid "Usage: view file...\n"
msgstr "Usage: view fichier...\n"
#: ../src/plugins/cvs.c:108
#: ../src/plugins/cvs.c:113
msgid "CVS"
msgstr "CVS"
#: ../src/plugins/cvs.c:153
#: ../src/plugins/cvs.c:159
msgid "Root:"
msgstr "Racine :"
#: ../src/plugins/cvs.c:155
#: ../src/plugins/cvs.c:161
msgid "Repository:"
msgstr "Dépôt :"
#: ../src/plugins/cvs.c:157
#: ../src/plugins/cvs.c:163
msgid "Tag:"
msgstr "Tag :"
#: ../src/plugins/cvs.c:166
msgid "Revision:"
msgstr "Révision :"
#: ../src/plugins/cvs.c:168
#: ../src/plugins/cvs.c:165 ../src/plugins/cvs.c:182
msgid "Request diff"
msgstr "Différences"
#: ../src/plugins/cvs.c:171
#: ../src/plugins/cvs.c:168 ../src/plugins/cvs.c:185
msgid "Update"
msgstr "Actualiser"
#: ../src/plugins/cvs.c:174
#: ../src/plugins/cvs.c:171 ../src/plugins/cvs.c:188
msgid "Commit"
msgstr "Soumettre"
#: ../src/plugins/cvs.c:290 ../src/plugins/cvs.c:359
#: ../src/plugins/cvs.c:180
msgid "Revision:"
msgstr "Révision :"
#: ../src/plugins/cvs.c:195
msgid "Run make"
msgstr "Exécuter make"
#: ../src/plugins/cvs.c:312 ../src/plugins/cvs.c:381
msgid "Not a CVS repository"
msgstr "Pas un dépôt CVS"
#: ../src/plugins/cvs.c:380
#: ../src/plugins/cvs.c:402
msgid "Not managed by CVS"
msgstr "Pas maintenu par CVS"

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-07-25 12:39+0200\n"
"POT-Creation-Date: 2011-07-25 13:36+0200\n"
"PO-Revision-Date: 2010-04-07 23:18+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -702,43 +702,47 @@ msgstr ""
msgid "Usage: view file...\n"
msgstr ""
#: ../src/plugins/cvs.c:108
#: ../src/plugins/cvs.c:113
msgid "CVS"
msgstr "CVS"
#: ../src/plugins/cvs.c:153
#: ../src/plugins/cvs.c:159
msgid "Root:"
msgstr ""
#: ../src/plugins/cvs.c:155
#: ../src/plugins/cvs.c:161
msgid "Repository:"
msgstr ""
#: ../src/plugins/cvs.c:157
#: ../src/plugins/cvs.c:163
msgid "Tag:"
msgstr ""
#: ../src/plugins/cvs.c:166
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:168
#: ../src/plugins/cvs.c:165 ../src/plugins/cvs.c:182
msgid "Request diff"
msgstr ""
#: ../src/plugins/cvs.c:171
#: ../src/plugins/cvs.c:168 ../src/plugins/cvs.c:185
msgid "Update"
msgstr ""
#: ../src/plugins/cvs.c:174
#: ../src/plugins/cvs.c:171 ../src/plugins/cvs.c:188
msgid "Commit"
msgstr ""
#: ../src/plugins/cvs.c:290 ../src/plugins/cvs.c:359
#: ../src/plugins/cvs.c:180
msgid "Revision:"
msgstr ""
#: ../src/plugins/cvs.c:195
msgid "Run make"
msgstr ""
#: ../src/plugins/cvs.c:312 ../src/plugins/cvs.c:381
msgid "Not a CVS repository"
msgstr ""
#: ../src/plugins/cvs.c:380
#: ../src/plugins/cvs.c:402
msgid "Not managed by CVS"
msgstr ""

View File

@ -153,6 +153,7 @@ static GtkWidget * _cvs_init(BrowserPlugin * plugin)
gtk_label_set_ellipsize(GTK_LABEL(cvs->status), PANGO_ELLIPSIZE_END);
gtk_misc_set_alignment(GTK_MISC(cvs->status), 0.0, 0.5);
gtk_box_pack_start(GTK_BOX(cvs->widget), cvs->status, FALSE, TRUE, 0);
group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
/* directory */
cvs->directory = gtk_vbox_new(FALSE, 4);
widget = _init_label(group, _("Root:"), &cvs->d_root);
@ -161,13 +162,21 @@ static GtkWidget * _cvs_init(BrowserPlugin * plugin)
gtk_box_pack_start(GTK_BOX(cvs->directory), widget, FALSE, TRUE, 0);
widget = _init_label(group, _("Tag:"), &cvs->d_tag);
gtk_box_pack_start(GTK_BOX(cvs->directory), widget, FALSE, TRUE, 0);
widget = _init_button(group, _("Request diff"), G_CALLBACK(
_cvs_on_diff), plugin);
gtk_box_pack_start(GTK_BOX(cvs->directory), widget, FALSE, TRUE, 0);
widget = _init_button(group, _("Update"), G_CALLBACK(_cvs_on_update),
plugin);
gtk_box_pack_start(GTK_BOX(cvs->directory), widget, FALSE, TRUE, 0);
widget = _init_button(group, _("Commit"), G_CALLBACK(_cvs_on_commit),
plugin);
gtk_box_pack_start(GTK_BOX(cvs->directory), widget, FALSE, TRUE, 0);
gtk_widget_show_all(cvs->directory);
gtk_widget_set_no_show_all(cvs->directory, TRUE);
gtk_box_pack_start(GTK_BOX(cvs->widget), cvs->directory, FALSE, TRUE,
0);
/* file */
cvs->file = gtk_vbox_new(FALSE, 4);
group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
widget = _init_label(group, _("Revision:"), &cvs->f_revision);
gtk_box_pack_start(GTK_BOX(cvs->file), widget, FALSE, TRUE, 0);
widget = _init_button(group, _("Request diff"), G_CALLBACK(
@ -553,18 +562,21 @@ static void _cvs_on_commit(gpointer data)
{
BrowserPlugin * plugin = data;
CVS * cvs = plugin->priv;
gchar * basename;
struct stat st;
gchar * dirname;
gchar * basename;
char * argv[] = { "cvs", "commit", NULL, NULL };
if(cvs->filename == NULL)
if(cvs->filename == NULL || lstat(cvs->filename, &st) != 0)
return;
basename = g_path_get_basename(cvs->filename);
dirname = g_path_get_dirname(cvs->filename);
dirname = S_ISDIR(st.st_mode) ? g_strdup(cvs->filename)
: g_path_get_dirname(cvs->filename);
basename = S_ISDIR(st.st_mode) ? NULL
: g_path_get_basename(cvs->filename);
argv[2] = basename;
_cvs_add_task(plugin, dirname, argv);
g_free(dirname);
g_free(basename);
g_free(dirname);
}
@ -573,18 +585,21 @@ static void _cvs_on_diff(gpointer data)
{
BrowserPlugin * plugin = data;
CVS * cvs = plugin->priv;
gchar * basename;
struct stat st;
gchar * dirname;
gchar * basename;
char * argv[] = { "cvs", "diff", NULL, NULL };
if(cvs->filename == NULL)
if(cvs->filename == NULL || lstat(cvs->filename, &st) != 0)
return;
basename = g_path_get_basename(cvs->filename);
dirname = g_path_get_dirname(cvs->filename);
dirname = S_ISDIR(st.st_mode) ? g_strdup(cvs->filename)
: g_path_get_dirname(cvs->filename);
basename = S_ISDIR(st.st_mode) ? NULL
: g_path_get_basename(cvs->filename);
argv[2] = basename;
_cvs_add_task(plugin, dirname, argv);
g_free(dirname);
g_free(basename);
g_free(dirname);
}
@ -611,18 +626,21 @@ static void _cvs_on_update(gpointer data)
{
BrowserPlugin * plugin = data;
CVS * cvs = plugin->priv;
gchar * basename;
struct stat st;
gchar * dirname;
gchar * basename;
char * argv[] = { "cvs", "update", NULL, NULL };
if(cvs->filename == NULL)
if(cvs->filename == NULL || lstat(cvs->filename, &st) != 0)
return;
basename = g_path_get_basename(cvs->filename);
dirname = g_path_get_dirname(cvs->filename);
dirname = S_ISDIR(st.st_mode) ? g_strdup(cvs->filename)
: g_path_get_dirname(cvs->filename);
basename = S_ISDIR(st.st_mode) ? NULL
: g_path_get_basename(cvs->filename);
argv[2] = basename;
_cvs_add_task(plugin, dirname, argv);
g_free(dirname);
g_free(basename);
g_free(dirname);
}