Commit c4ac9c96 authored by Victor Ananjevsky's avatar Victor Ananjevsky

add menu entries for moving rows in list dialog

parent 33f526ff
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: YAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 14:59+0200\n"
"POT-Creation-Date: 2021-04-05 10:41+0300\n"
"PO-Revision-Date: 2009-04-30 16:47+0300\n"
"Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n"
"Language-Team: \n"
......@@ -186,27 +186,35 @@ msgstr "Неизвестная команда '%s'\n"
msgid "Yad notification"
msgstr "Диалог уведомлений"
#: ../src/list.c:1072
#: ../src/list.c:1104
msgid "Add row"
msgstr "Добавить строку"
#: ../src/list.c:1079
#: ../src/list.c:1111
msgid "Add child row"
msgstr "Добавить дочернюю строку"
#: ../src/list.c:1086
#: ../src/list.c:1118
msgid "Delete row"
msgstr "Удалить строку"
#: ../src/list.c:1093
#: ../src/list.c:1125
msgid "Edit row"
msgstr "Редактировать строку"
#: ../src/list.c:1099
#: ../src/list.c:1131
msgid "Duplicate row"
msgstr "Скопировать строку"
#: ../src/list.c:1240
#: ../src/list.c:1140
msgid "Move row up"
msgstr "Переместить строку вверх"
#: ../src/list.c:1145
msgid "Move row down"
msgstr "Переместить строку вниз"
#: ../src/list.c:1286
#, c-format
msgid ""
"WARNING: You are use --checklist or --radiolist option. Those options "
......@@ -215,7 +223,7 @@ msgstr ""
"ВНИМАНИЕ: Используются опции --checklist или --radiolist. Эти опции устарели "
"и будут удалены в следующих выпусках\n"
#: ../src/list.c:1246
#: ../src/list.c:1292
#, c-format
msgid "No column titles specified for List dialog.\n"
msgstr "Не заданы заголовоки колонок для диалога со списком\n"
......
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: YAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-14 14:59+0200\n"
"POT-Creation-Date: 2021-04-05 10:41+0300\n"
"PO-Revision-Date: 2009-04-30 16:47+0300\n"
"Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n"
"Language-Team: \n"
......@@ -186,27 +186,35 @@ msgstr "Невідома команда '%s'\n"
msgid "Yad notification"
msgstr "Діалог повідомлень"
#: ../src/list.c:1072
#: ../src/list.c:1104
msgid "Add row"
msgstr "Додати рядок"
#: ../src/list.c:1079
#: ../src/list.c:1111
msgid "Add child row"
msgstr "Додати дочірній рядок"
#: ../src/list.c:1086
#: ../src/list.c:1118
msgid "Delete row"
msgstr "Видалити рядок"
#: ../src/list.c:1093
#: ../src/list.c:1125
msgid "Edit row"
msgstr "Редагувати рядок"
#: ../src/list.c:1099
#: ../src/list.c:1131
msgid "Duplicate row"
msgstr "Скопіювати рядок"
#: ../src/list.c:1240
#: ../src/list.c:1140
msgid "Move row up"
msgstr "Перемістити рядок вгору"
#: ../src/list.c:1145
msgid "Move row down"
msgstr "Перемістити рядок вниз"
#: ../src/list.c:1286
#, c-format
msgid ""
"WARNING: You are use --checklist or --radiolist option. Those options "
......@@ -215,7 +223,7 @@ msgstr ""
"УВАГА: Використовуються опції --checklist або --radiolist. Ці опції "
"застаріли та будуть видалені у майбутніх випусках\n"
#: ../src/list.c:1246
#: ../src/list.c:1292
#, c-format
msgid "No column titles specified for List dialog.\n"
msgstr "Не задані заголовки стовпчиків для діалогу зі списком\n"
......
......@@ -1056,6 +1056,38 @@ copy_row_cb (GtkMenuItem *item, gpointer data)
}
}
static void
move_row_up_cb (GtkMenuItem *item, gpointer data)
{
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (list_view));
GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (list_view));
if (gtk_tree_selection_get_selected (sel, NULL, &iter))
{
GtkTreeIter *prev = gtk_tree_iter_copy (&iter);
if (gtk_tree_model_iter_previous (model, prev))
gtk_tree_store_move_before (GTK_TREE_STORE (model), &iter, prev);
gtk_tree_iter_free (prev);
}
}
static void
move_row_down_cb (GtkMenuItem *item, gpointer data)
{
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (list_view));
GtkTreeSelection *sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (list_view));
if (gtk_tree_selection_get_selected (sel, NULL, &iter))
{
GtkTreeIter *next = gtk_tree_iter_copy (&iter);
if (gtk_tree_model_iter_next (model, next))
gtk_tree_store_move_after (GTK_TREE_STORE (model), &iter, next);
gtk_tree_iter_free (next);
}
}
static gboolean
popup_menu_cb (GtkWidget *w, GdkEventButton *ev, gpointer data)
{
......@@ -1101,6 +1133,20 @@ popup_menu_cb (GtkWidget *w, GdkEventButton *ev, gpointer data)
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (copy_row_cb), menu);
item = gtk_separator_menu_item_new ();
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_label (_("Move row up"));
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (move_row_up_cb), menu);
item = gtk_menu_item_new_with_label (_("Move row down"));
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (move_row_down_cb), menu);
gtk_widget_show (menu);
}
gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment