26
27
static void on_save_clicked(GtkButton *button, gpointer user_data);
27
28
static void on_format_combo_selected (GtkComboBox *widget, gpointer user_data);
28
29
static void on_use_custom_css (GtkMenuItem *menuitem, gpointer user_data);
30
static void on_use_post_export (GtkMenuItem *menuitem, gpointer user_data);
37
static std::vector<tScriptInfo> g_lstExportScripts;
30
39
FileExportDlg::FileExportDlg()
91
100
//restore last used export file name
92
101
std::string strFile;
93
102
g_objIni.GetValue("Export", "TargetFile", strFile, "");
96
GtkWidget *entry5 = lookup_widget(m_pDialog, "entry5");
97
gtk_entry_set_text(GTK_ENTRY(entry5), strFile.c_str());
105
//default export directory/name
106
strFile = GetHomeDir();
108
//Maemo file selector is not easy to use, by default set correct document directory
109
EnsureTerminated(strFile, '/');
110
strFile += "MyDocs/.documents/";
112
strFile += "default.ncd";
114
GtkWidget *entry5 = lookup_widget(m_pDialog, "entry5");
115
gtk_entry_set_text(GTK_ENTRY(entry5), strFile.c_str());
116
ForceFormatExtension();
118
//fill post export scripts
119
g_lstExportScripts.clear();
120
GtkWidget *combobox3 = lookup_widget(m_pDialog, "combobox3");
122
g_objIni.GetValue("Export", "PostExportCount", nNumScripts);
124
for(int j=0; j<nNumScripts; j++)
129
sprintf(szKey, "PostExportTitle_%d", j+1);
130
g_objIni.GetValue("Export", szKey, info.strTitle, "");
131
sprintf(szKey, "PostExportScript_%d", j+1);
132
g_objIni.GetValue("Export", szKey, info.strPath, "");
134
g_lstExportScripts.push_back(info);
135
gtk_combo_box_append_text (GTK_COMBO_BOX (combobox3), info.strTitle.c_str());
139
GtkWidget *checkbox3 = lookup_widget(m_pDialog, "checkbox3");
140
gtk_widget_hide(checkbox3);
141
gtk_widget_hide(combobox3);
144
gtk_combo_box_set_active (GTK_COMBO_BOX (combobox3), 0);
145
on_use_post_export (NULL, this);
178
226
return gtk_entry_get_text(GTK_ENTRY(entry5));
229
const char *FileExportDlg::GetPostExportScript()
231
GtkWidget *checkbox3 = lookup_widget(m_pDialog, "checkbox3");
232
if(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(checkbox3)))
234
GtkWidget *combobox3 = lookup_widget(m_pDialog, "combobox3");
235
int nIdx = gtk_combo_box_get_active (GTK_COMBO_BOX (combobox3));
237
return g_lstExportScripts[nIdx].strPath.c_str();
181
242
bool FileExportDlg::GetHtmlExportCSS(std::string &strCSS)
183
244
if(3 != GetExportFormat())
231
294
gtk_window_set_transient_for(GTK_WINDOW (file_export_dialog), GTK_WINDOW(parent)); //set parent
232
295
#if GTK_CHECK_VERSION(2,4,0) //new API TOFIX set proper version
233
296
#ifndef _WIN32 //TOFIX API is buggy on Win32 (kills modal dialog state)
234
gtk_window_set_keep_above(GTK_WINDOW (file_export_dialog), TRUE);
297
//gtk_window_set_keep_above(GTK_WINDOW (file_export_dialog), TRUE);
237
300
gtk_widget_realize(file_export_dialog);
317
380
(GtkAttachOptions) (GTK_FILL),
318
381
(GtkAttachOptions) (GTK_FILL), 0, 0);
383
checkbox3 = gtk_check_button_new_with_mnemonic (_("Post-export script:"));
384
gtk_widget_show (checkbox3);
385
gtk_table_attach (GTK_TABLE (table7), checkbox3, 0, 1, 5, 6,
386
(GtkAttachOptions) (GTK_FILL),
387
(GtkAttachOptions) (GTK_FILL), 0, 0);
389
combobox3 = gtk_combo_box_new_text ();
390
gtk_widget_show (combobox3);
391
gtk_table_attach (GTK_TABLE (table7), combobox3, 1, 2, 5, 6,
392
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
393
(GtkAttachOptions) (GTK_FILL), 0, 0);
320
395
dialog_action_area6 = GTK_DIALOG (file_export_dialog)->action_area;
321
396
gtk_widget_show (dialog_action_area6);
322
397
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area6), GTK_BUTTONBOX_END);
335
410
g_signal_connect(okbutton6, "clicked", G_CALLBACK (on_save_clicked), this);
336
411
g_signal_connect(combobox2, "changed", G_CALLBACK (on_format_combo_selected), this);
337
412
g_signal_connect(checkbox1, "clicked", G_CALLBACK (on_use_custom_css), this);
413
g_signal_connect(checkbox3, "clicked", G_CALLBACK (on_use_post_export), this);
339
415
/* Store pointers to all widgets, for use by lookup_widget(). */
340
416
GLADE_HOOKUP_OBJECT_NO_REF (file_export_dialog, file_export_dialog, "file_export_dialog");
351
427
GLADE_HOOKUP_OBJECT (file_export_dialog, image2, "image2");
352
428
GLADE_HOOKUP_OBJECT (file_export_dialog, checkbox1, "checkbox1");
353
429
GLADE_HOOKUP_OBJECT (file_export_dialog, checkbox2, "checkbox2");
430
GLADE_HOOKUP_OBJECT (file_export_dialog, checkbox3, "checkbox3");
431
GLADE_HOOKUP_OBJECT (file_export_dialog, combobox3, "combobox3");
354
432
GLADE_HOOKUP_OBJECT (file_export_dialog, entry6, "entry6");
355
433
GLADE_HOOKUP_OBJECT (file_export_dialog, hbox4, "hbox4");
356
434
GLADE_HOOKUP_OBJECT_NO_REF (file_export_dialog, dialog_action_area6, "dialog_action_area6");
457
535
gtk_widget_set_sensitive(entry6, FALSE);
538
void on_use_post_export (GtkMenuItem *menuitem, gpointer user_data)
540
FileExportDlg *pDlg = (FileExportDlg *)user_data;
542
GtkWidget *checkbox3 = lookup_widget(pDlg->m_pDialog, "checkbox3");
543
GtkWidget *combobox3 = lookup_widget(pDlg->m_pDialog, "combobox3");
545
if(gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(checkbox3)))
546
gtk_widget_set_sensitive(combobox3, TRUE);
548
gtk_widget_set_sensitive(combobox3, FALSE);