62
62
typedef struct dt_storage_flickr_gui_data_t
65
GtkLabel *label1,*label2,*label3, *label4,*label5,*label6,*label7; // username, password, albums, status, albumtitle, albumsummary, albumrights
66
GtkEntry *entry1,*entry2,*entry3,*entry4; // username, password, albumtitle,albumsummary
67
GtkComboBox *comboBox1; // album box
68
GtkCheckButton *checkButton1,*checkButton2; // public album, export tags
69
GtkDarktableButton *dtbutton1; // refresh albums
70
GtkBox *hbox1; // Create album options...
65
GtkLabel *label1,*label2,*label3, *label4,*label5,*label6,*label7; // username, password, albums, status, albumtitle, albumsummary, albumrights
66
GtkEntry *entry1,*entry2,*entry3,*entry4; // username, password, albumtitle,albumsummary
67
GtkComboBox *comboBox1; // album box
68
GtkCheckButton *checkButton1,*checkButton2; // public album, export tags
69
GtkDarktableButton *dtbutton1; // refresh albums
70
GtkButton *button; // login button. These buttons call the same functions
71
GtkBox *hbox1; // Create album options...
279
280
length = g_list_length(tags);
282
283
array = g_malloc(sizeof(gchar*)*(length+1));
286
for (i=1; i<length; i++)
285
for (i=0; i<length; i++)
288
287
dt_tag_t *t = g_list_nth_data(tags,i);
291
array[i] = g_strconcat ("\"", t->tag, "\"", NULL);
291
if (!g_ascii_strncasecmp(t->tag, "darktable|", 10))
293
array[i] = g_strdup("darktable");
295
array[i] = g_strconcat ("\"", t->tag, "\"", NULL);
295
299
array[length] = NULL;
296
300
params->tags = g_strjoinv(" ",array);
297
//TODO g_strfreev(array);
300
304
params->photo_file = fname; //fname should be the URI of temp file
486
490
self->gui_data = (dt_storage_flickr_gui_data_t *)g_malloc(sizeof(dt_storage_flickr_gui_data_t));
487
491
memset(self->gui_data,0,sizeof(dt_storage_flickr_gui_data_t));
488
492
dt_storage_flickr_gui_data_t *ui= self->gui_data;
489
self->widget = gtk_vbox_new(TRUE, 0);
493
self->widget = gtk_vbox_new(FALSE, 0);
491
495
GtkWidget *hbox1=gtk_hbox_new(FALSE,5);
496
GtkWidget *hbox0=gtk_hbox_new(FALSE,5);
492
497
GtkWidget *vbox1=gtk_vbox_new(FALSE,0);
493
498
GtkWidget *vbox2=gtk_vbox_new(FALSE,0);
495
500
ui->label1 = GTK_LABEL( gtk_label_new( _("flickr user") ) );
496
// ui->label2 = GTK_LABEL( gtk_label_new( _("F_password") ) );
497
501
ui->label3 = GTK_LABEL( gtk_label_new( _("photosets") ) );
498
502
ui->label4 = GTK_LABEL( gtk_label_new( NULL ) );
504
set_status(ui,_("click login button to start"), "#ffffff");
499
506
ui->label5 = GTK_LABEL( gtk_label_new( _("title") ) );
500
507
ui->label6 = GTK_LABEL( gtk_label_new( _("summary") ) );
501
// ui->label7 = GTK_LABEL( gtk_label_new( _("F_rights") ) );
502
508
gtk_misc_set_alignment(GTK_MISC(ui->label1), 0.0, 0.5);
503
// gtk_misc_set_alignment(GTK_MISC(ui->label2), 0.0, 0.5);
504
509
gtk_misc_set_alignment(GTK_MISC(ui->label3), 0.0, 0.5);
505
510
gtk_misc_set_alignment(GTK_MISC(ui->label5), 0.0, 0.5);
506
511
gtk_misc_set_alignment(GTK_MISC(ui->label6), 0.0, 0.5);
507
// gtk_misc_set_alignment(GTK_MISC(ui->label7), 0.0, 0.5);
509
513
ui->entry1 = GTK_ENTRY( gtk_entry_new() );
510
// ui->entry2 = GTK_ENTRY( gtk_entry_new() );
511
514
ui->entry3 = GTK_ENTRY( gtk_entry_new() ); // Album title
512
515
ui->entry4 = GTK_ENTRY( gtk_entry_new() ); // Album summary
514
517
dt_gui_key_accel_block_on_focus (GTK_WIDGET (ui->entry1));
515
// dt_gui_key_accel_block_on_focus (GTK_WIDGET (ui->entry2));
516
518
dt_gui_key_accel_block_on_focus (GTK_WIDGET (ui->entry3));
517
519
dt_gui_key_accel_block_on_focus (GTK_WIDGET (ui->entry4));
534
536
GHashTable* table = dt_pwstorage_get("flickr");
535
537
gchar* _username = g_strdup( g_hash_table_lookup(table, "username"));
536
//gchar* _password = g_strdup( g_hash_table_lookup(table, "token"));
537
538
g_hash_table_destroy(table);
538
539
gtk_entry_set_text( ui->entry1, _username == NULL?"":_username );
539
// gtk_entry_set_text( ui->entry2, _password == NULL?"":_password );
540
540
gtk_entry_set_text( ui->entry3, _("my new photoset") );
541
541
gtk_entry_set_text( ui->entry4, _("exported from darktable") );
543
// gtk_entry_set_visibility(ui->entry2, FALSE);
545
543
GtkWidget *albumlist=gtk_hbox_new(FALSE,0);
546
544
ui->comboBox1=GTK_COMBO_BOX( gtk_combo_box_new_text()); // Available albums
558
556
ui->dtbutton1 = DTGTK_BUTTON( dtgtk_button_new(dtgtk_cairo_paint_refresh,0) );
559
557
g_object_set(G_OBJECT(ui->dtbutton1), "tooltip-text", _("refresh album list"), (char *)NULL);
559
ui->button = GTK_BUTTON(gtk_button_new_with_label(_("login")));
560
g_object_set(G_OBJECT(ui->button), "tooltip-text", _("Flickr login"), (char *)NULL);
560
562
gtk_widget_set_sensitive( GTK_WIDGET(ui->comboBox1), FALSE);
561
563
gtk_combo_box_set_row_separator_func(ui->comboBox1,combobox_separator,ui->comboBox1,NULL);
562
564
gtk_box_pack_start(GTK_BOX(albumlist), GTK_WIDGET(ui->comboBox1), TRUE, TRUE, 0);
563
565
gtk_box_pack_start(GTK_BOX(albumlist), GTK_WIDGET(ui->dtbutton1), FALSE, FALSE, 0);
565
ui->checkButton1 = GTK_CHECK_BUTTON( gtk_check_button_new_with_label(_("public images")) );
567
ui->checkButton1 = GTK_CHECK_BUTTON( gtk_check_button_new_with_label(_("make images public")) );
566
568
ui->checkButton2 = GTK_CHECK_BUTTON( gtk_check_button_new_with_label(_("export tags")) );
567
// gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON( ui->checkButton1 ),TRUE);
568
569
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON( ui->checkButton2 ),TRUE);
570
gtk_box_pack_start(GTK_BOX(hbox1), vbox1, FALSE, FALSE, 0);
571
gtk_box_pack_start(GTK_BOX(hbox1), vbox2, TRUE, TRUE, 0);
572
gtk_box_pack_start(GTK_BOX(self->widget), hbox1, TRUE, FALSE, 5);
573
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label1 ), TRUE, TRUE, 0);
574
// gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label2 ), TRUE, TRUE, 0);
571
gtk_box_pack_start(GTK_BOX(self->widget), hbox0, TRUE, FALSE, 5);
572
gtk_box_pack_start(GTK_BOX(self->widget), hbox1, TRUE, FALSE, 0);
573
gtk_box_pack_start(GTK_BOX( hbox0 ), GTK_WIDGET( ui->label1 ), TRUE, TRUE, 0);
574
gtk_box_pack_start(GTK_BOX( hbox0 ), GTK_WIDGET( ui->entry1 ), TRUE, FALSE, 0);
575
gtk_box_pack_start(GTK_BOX( hbox0 ), GTK_WIDGET( ui->button ), FALSE, FALSE, 0);
576
gtk_box_pack_start(GTK_BOX( hbox1 ), vbox1, FALSE, FALSE, 0);
577
gtk_box_pack_start(GTK_BOX( hbox1 ), vbox2, TRUE, TRUE, 0);
575
578
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( gtk_label_new("")), TRUE, TRUE, 0);
576
579
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( gtk_label_new("")), TRUE, TRUE, 0);
577
580
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label3 ), TRUE, TRUE, 0);
578
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->entry1 ), TRUE, FALSE, 0);
579
// gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->entry2 ), TRUE, FALSE, 0);
580
581
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->label4 ), TRUE, FALSE, 0);
581
582
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->checkButton1 ), TRUE, FALSE, 0);
582
583
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->checkButton2 ), TRUE, FALSE, 0);
583
584
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( albumlist ), TRUE, FALSE, 0);
587
587
ui->hbox1=GTK_BOX(gtk_hbox_new(FALSE,5));
588
588
gtk_widget_set_no_show_all(GTK_WIDGET(ui->hbox1), TRUE);
594
594
gtk_box_pack_start(GTK_BOX(self->widget), GTK_WIDGET(ui->hbox1), TRUE, FALSE, 5);
595
595
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label5 ), TRUE, TRUE, 0);
596
596
gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label6 ), TRUE, TRUE, 0);
597
// gtk_box_pack_start(GTK_BOX( vbox1 ), GTK_WIDGET( ui->label7 ), TRUE, TRUE, 0);
599
598
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->entry3 ), TRUE, FALSE, 0);
600
599
gtk_box_pack_start(GTK_BOX( vbox2 ), GTK_WIDGET( ui->entry4 ), TRUE, FALSE, 0);