Example #1
0
char *list_get_basename(const unsigned int row)
{
	GFile *file = list_get_file(row);
	char *basename = g_file_get_basename(file);
	g_object_unref(file);

	return basename;
}
Example #2
0
char *list_get_uri(const unsigned int row)
{
	GFile *file = list_get_file(row);
	char *uri = g_file_get_uri(file);
	g_object_unref(file);

	return uri;
}
Example #3
0
int main (int argc, char *argv[]) {

  char lang[128] = "de-DE";
  guint j, notify_time_cycle = 0;

  if (argc > 2) {
    for (j = 1; j < argc; j++) {
      if (strcmp(argv[j], "-notify") == 0 && atoi(argv[j+1]) > 0) {
        notify_time_cycle = atoi(argv[j+1]);
      }
      if (strcmp(argv[j], "-lang") == 0 && strlen(argv[j+1]) > 0) {
        strncpy(lang, argv[j+1], sizeof(lang));
      }
      j++;
    }
  }

  phrases_set_lang(lang);
  phrases_load();
  list_get_file();

  if (notify_time_cycle > 0) {
    notification_service(notify_time_cycle);
  }
  list_load();
  list_sort();

  GtkWidget *window, *vbox, *treeview, *scrolled_win;
  GtkWidget *hbox_buttons, *button_add, *button_remove;
  GtkListStore *store;
  GtkTreeIter iter;
  GtkTreeSelection *selection;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "gEventlist");
  gtk_container_set_border_width(GTK_CONTAINER(window), 10);
  gtk_widget_set_size_request(window, 480, 360);

  g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);

  // teeview / scrolled_win
  treeview = gtk_tree_view_new();
  setup_tree_view(treeview);

  store = gtk_list_store_new(COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT);

  guint i = 0;
  while (i < list_length) {
    st_gtk_list_item temp = get_gtk_list_item(i);

    gtk_list_store_append(store, &iter);
    gtk_list_store_set(store, &iter,
      TYPE, temp.type, DATE, temp.date, TIME, temp.time,
      TEXT, temp.text, CYCLE, temp.cycle,
      -1
    );
    i++;
  }

  gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(store));
  g_object_unref(store);

  selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
  gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE);

  scrolled_win = gtk_scrolled_window_new(NULL, NULL);
  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_win),
                                 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
  gtk_container_add(GTK_CONTAINER(scrolled_win), treeview);

  // button bar
  button_add = gtk_button_new_from_stock(GTK_STOCK_ADD);
  button_remove = gtk_button_new_from_stock(GTK_STOCK_REMOVE);

  hbox_buttons = gtk_hbox_new(TRUE, 5);
  gtk_box_pack_start(GTK_BOX(hbox_buttons), button_add, FALSE, TRUE, 0);
  gtk_box_pack_start(GTK_BOX(hbox_buttons), button_remove, FALSE, TRUE, 0);

  // button events
  g_signal_connect(G_OBJECT(button_add), "clicked",
                   G_CALLBACK(add_event), (gpointer)treeview);
  g_signal_connect(G_OBJECT(button_remove), "clicked",
                   G_CALLBACK(remove_events), (gpointer)treeview);

  // vbox
  vbox = gtk_vbox_new(FALSE, 5);
  gtk_box_pack_start (GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 0);
  gtk_box_pack_start (GTK_BOX(vbox), hbox_buttons, FALSE, TRUE, 0);

  gtk_container_add(GTK_CONTAINER(window), vbox);

  gtk_widget_show_all(window);

  gtk_main ();
  return 0;
}