projects
/
ptask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
support of json-0 and json-c (different include dirs)
[ptask.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index
880bde4
..
e692723
100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-22,7
+22,7
@@
#include <getopt.h>
#include <sys/stat.h>
#include <getopt.h>
#include <sys/stat.h>
-#include <json
/json
.h>
+#include <json.h>
#include <glib/gi18n.h>
#include <glib/gi18n.h>
@@
-30,6
+30,7
@@
#include <log.h>
#include <note.h>
#include <log.h>
#include <note.h>
+#include <settings.h>
#include <tw.h>
#include <ui.h>
#include <ui_projecttree.h>
#include <tw.h>
#include <ui.h>
#include <ui_projecttree.h>
@@
-38,16
+39,6
@@
static const char *program_name;
static struct task **tasks;
static const char *program_name;
static struct task **tasks;
-static GtkTreeView *w_treeview;
-static GSettings *settings;
-
-enum {
- COL_ID,
- COL_DESCRIPTION,
- COL_PROJECT,
- COL_UUID,
- COL_PRIORITY
-};
static struct option long_options[] = {
{"version", no_argument, 0, 'v'},
static struct option long_options[] = {
{"version", no_argument, 0, 'v'},
@@
-95,17
+86,21
@@
static void print_help()
void refresh()
{
GtkWidget *dialog;
void refresh()
{
GtkWidget *dialog;
- const char *current_prj;
+ const char *current_prj, *current_uuid;
+ struct task **old_tasks;
log_fct_enter();
ui_taskpanel_update(NULL);
if (tasks) {
log_fct_enter();
ui_taskpanel_update(NULL);
if (tasks) {
+ old_tasks = tasks;
current_prj = ui_projecttree_get_project();
current_prj = ui_projecttree_get_project();
+ current_uuid = ui_tasktree_get_task_uuid();
ui_tasktree_update(NULL, NULL);
ui_tasktree_update(NULL, NULL);
- tw_task_list_free(tasks);
} else {
} else {
+ old_tasks = NULL;
current_prj = NULL;
current_prj = NULL;
+ current_uuid = NULL;
}
tasks = tw_get_all_tasks(ui_get_status_filter());
}
tasks = tw_get_all_tasks(ui_get_status_filter());
@@
-113,6
+108,8
@@
void refresh()
if (tasks) {
ui_projecttree_update(tasks);
ui_tasktree_update(tasks, current_prj);
if (tasks) {
ui_projecttree_update(tasks);
ui_tasktree_update(tasks, current_prj);
+ if (current_uuid)
+ ui_tasktree_set_selected_task(current_uuid);
} else {
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
} else {
dialog = gtk_message_dialog_new(NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
@@
-124,18
+121,11
@@
void refresh()
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
- log_fct(__func__, "EXIT");
-}
-
-static int cursor_changed_cbk(GtkTreeView *treeview, gpointer data)
-{
- log_fct_enter();
- ui_taskpanel_update(ui_tasktree_get_selected_task());
+ if (old_tasks)
+ tw_task_list_free(old_tasks);
log_fct_exit();
log_fct_exit();
-
- return FALSE;
}
static void log_init()
}
static void log_init()
@@
-205,27
+195,17
@@
int main(int argc, char **argv)
gtk_init(NULL, NULL);
gtk_init(NULL, NULL);
- settings
= g_settings_new("ptask"
);
+ settings
_init(
);
builder = gtk_builder_new();
gtk_builder_add_from_file
(builder,
PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade",
NULL);
builder = gtk_builder_new();
gtk_builder_add_from_file
(builder,
PACKAGE_DATA_DIR G_DIR_SEPARATOR_S "ptask.glade",
NULL);
- window = create_window(builder, settings);
-
- ui_taskpanel_init(builder);
- ui_tasktree_init(builder);
- ui_projecttree_init(builder);
-
- w_treeview = GTK_TREE_VIEW(gtk_builder_get_object(builder, "tasktree"));
+ window = create_window(builder);
gtk_builder_connect_signals(builder, NULL);
gtk_builder_connect_signals(builder, NULL);
- g_signal_connect(w_treeview,
- "cursor-changed", (GCallback)cursor_changed_cbk,
- tasks);
-
g_object_unref(G_OBJECT(builder));
refresh();
g_object_unref(G_OBJECT(builder));
refresh();