Commit a7ce4605007565ae717aa20117278e14b40c9a16

Authored by Perry Werneck
1 parent f2ab533a

Removing windows native dialog.

Showing 2 changed files with 4 additions and 189 deletions   Show diff stats
src/include/pw3270.h
... ... @@ -84,8 +84,6 @@
84 84  
85 85 LIB3270_EXPORT gchar * pw3270_get_datadir(const gchar *first_element, ...);
86 86  
87   - LIB3270_EXPORT gchar * pw3270_file_chooser(GtkFileChooserAction action, const gchar *name, const gchar *title, const gchar *file);
88   -
89 87 LIB3270_EXPORT void pw3270_set_host_charset(GtkWidget *widget, const gchar *name);
90 88 LIB3270_EXPORT void pw3270_remap_from_xml(GtkWidget *widget, const gchar *name);
91 89  
... ...
src/pw3270/dialog.c
... ... @@ -275,14 +275,6 @@
275 275 }
276 276 else
277 277 {
278   -#ifdef _WIN32
279   - gchar *name = pw3270_file_chooser(GTK_FILE_CHOOSER_ACTION_SAVE, "save_contents", gettext(user_title ? user_title : title), filename);
280   - if(name)
281   - {
282   - save_text(toplevel,name,text,NULL,errmsg);
283   - g_free(name);
284   - }
285   -#else
286 278 GtkWidget * dialog;
287 279 gchar * ptr;
288 280 gchar * encattr = NULL;
... ... @@ -323,7 +315,6 @@
323 315  
324 316 trace("Removing dialog %p",dialog);
325 317 gtk_widget_destroy(dialog);
326   -#endif // _WIN32
327 318 }
328 319  
329 320 return 0;
... ... @@ -423,37 +414,14 @@
423 414  
424 415 void paste_file_action(GtkAction *action, GtkWidget *widget)
425 416 {
426   - const gchar * name = g_object_get_data(G_OBJECT(action),"filename");
427   - const gchar * charset = g_object_get_data(G_OBJECT(action),"charset");
428   -
429   - trace("Action %s activated on widget %p",gtk_action_get_name(action),widget);
430   -
431   - if(name) {
432   -
433   - // Tem nome pre-definido, colca direto
434   - paste_filename(widget,name,charset);
435   - return;
436   -
437   - }
438   -
439   -
440   - gchar * filename = pw3270_file_chooser( GTK_FILE_CHOOSER_ACTION_OPEN,
441   - "paste",
442   - g_object_get_data(G_OBJECT(action),"title"),
443   - name
444   - );
445   -
446   - if(filename) {
447   - paste_filename(widget,filename,charset);
448   - g_free(filename);
449   - }
450   -
451   - /*
452 417 const gchar * user_title = g_object_get_data(G_OBJECT(action),"title");
453 418 const gchar * filename = g_object_get_data(G_OBJECT(action),"filename");
454   - gchar * encattr = NULL;g_get_charset(&encoding)
  419 + gchar * encattr = NULL;
455 420 GtkWidget * dialog;
456 421 gchar * ptr;
  422 + const gchar * encoding = NULL;
  423 +
  424 + g_get_charset(&encoding);
457 425  
458 426 trace("Action %s activated on widget %p",gtk_action_get_name(action),widget);
459 427  
... ... @@ -497,7 +465,6 @@
497 465  
498 466 if(encattr)
499 467 g_free(encattr);
500   - */
501 468 }
502 469  
503 470 G_GNUC_INTERNAL void about_dialog_action(GtkAction *action, GtkWidget *widget)
... ... @@ -579,153 +546,3 @@
579 546 g_free(info);
580 547 }
581 548  
582   -#ifdef _WIN32
583   -static gpointer select_file(struct file *fl) {
584   -
585   -
586   - switch(fl->action) {
587   - case GTK_FILE_CHOOSER_ACTION_SAVE: // Receber arquivo
588   - // https://msdn.microsoft.com/en-us/library/windows/desktop/ms646839(v=vs.85).aspx
589   - // https://msdn.microsoft.com/en-us/library/windows/desktop/ms646829(v=vs.85).aspx#open_file
590   - fl->ofn.Flags = OFN_OVERWRITEPROMPT | OFN_CREATEPROMPT | OFN_HIDEREADONLY;
591   - fl->ok = GetSaveFileName(&fl->ofn);
592   - break;
593   -
594   - case GTK_FILE_CHOOSER_ACTION_OPEN: // Enviar arquivo
595   - // https://msdn.microsoft.com/en-us/library/windows/desktop/ms646928(v=vs.85).aspx
596   - fl->ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
597   - fl->ok = GetOpenFileName(&fl->ofn);
598   - break;
599   - }
600   -
601   - fl->enabled = FALSE;
602   -
603   - return 0;
604   -}
605   -#endif // _WIN32
606   -
607   - LIB3270_EXPORT gchar * pw3270_file_chooser(GtkFileChooserAction action, const gchar *name, const gchar *title, const gchar *file)
608   - {
609   - gchar * filename = NULL;
610   -
611   -#if defined(_WIN32)
612   -
613   - GThread * thd;
614   - struct file fl;
615   - GtkWidget * dialog = pw3270_get_toplevel();
616   - GdkWindow * win = gtk_widget_get_window(GTK_WIDGET(dialog));
617   -
618   - gtk_widget_set_sensitive(GTK_WIDGET(dialog),FALSE);
619   -
620   - memset(&fl,0,sizeof(fl));
621   - fl.ofn.lStructSize = sizeof(fl.ofn);
622   - fl.action = action;
623   - fl.ofn.hwndOwner = GDK_WINDOW_HWND(win);
624   - fl.ofn.lpstrFile = fl.szName;
625   - fl.ofn.lpstrTitle = title;
626   -
627   - // Set lpstrFile[0] to '\0' so that GetOpenFileName does not
628   - // use the contents of szFile to initialize itself.
629   - fl.ofn.lpstrFile[0] = '\0';
630   - fl.ofn.nMaxFile = sizeof(fl.szName);
631   -
632   - fl.ofn.lpstrInitialDir = NULL;
633   - fl.ofn.nMaxFileTitle = 0;
634   -
635   - // Guarda o valor atual
636   - if(file && *file)
637   - {
638   - strncpy(fl.szName,file,fl.ofn.nMaxFile);
639   - }
640   - else
641   - {
642   - gchar *ptr = get_string_from_config("files",name,"");
643   - if(*ptr)
644   - strncpy(fl.szName,ptr,fl.ofn.nMaxFile);
645   - else
646   - fl.ofn.lpstrInitialDir = g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS);
647   - g_free(ptr);
648   - }
649   -
650   - thd = g_thread_new("GetFileName",(GThreadFunc) select_file, &fl);
651   -
652   - fl.enabled = TRUE;
653   - while(fl.enabled) {
654   - g_main_context_iteration(NULL,TRUE);
655   - }
656   -
657   - g_thread_unref(thd);
658   -
659   - if(fl.ok) {
660   - filename = g_strdup(fl.szName);
661   - }
662   -
663   - gtk_widget_set_sensitive(GTK_WIDGET(dialog),TRUE);
664   -
665   -#else
666   - static const struct _btn
667   - {
668   - const gchar * button;
669   - GtkFileChooserAction action;
670   - } btn[] =
671   - {
672   - { GTK_STOCK_OPEN, GTK_FILE_CHOOSER_ACTION_OPEN },
673   - { GTK_STOCK_SAVE, GTK_FILE_CHOOSER_ACTION_SAVE },
674   - { GTK_STOCK_OK, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER },
675   - { GTK_STOCK_OK, GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER }
676   - };
677   -
678   - GtkWidget * dialog;
679   - gchar * ptr;
680   - const gchar * button = GTK_STOCK_OK;
681   - int f;
682   -
683   - for(f=0;f<G_N_ELEMENTS(btn);f++)
684   - {
685   - if(action == btn[f].action)
686   - {
687   - button = btn[f].button;
688   - break;
689   - }
690   - }
691   -
692   - dialog = gtk_file_chooser_dialog_new( title,
693   - GTK_WINDOW(pw3270_get_toplevel()),
694   - action,
695   - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
696   - button, GTK_RESPONSE_ACCEPT,
697   - NULL );
698   -
699   - if(action == GTK_FILE_CHOOSER_ACTION_SAVE)
700   - {
701   - gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE);
702   - g_signal_connect(GTK_FILE_CHOOSER(dialog), "confirm-overwrite", G_CALLBACK(confirm_overwrite), G_OBJECT(dialog));
703   - }
704   -
705   - if(file && *file)
706   - {
707   - gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),file);
708   - }
709   - else
710   - {
711   - ptr = get_string_from_config("files",name,"");
712   - if(*ptr)
713   - gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),ptr);
714   - else
715   - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog),g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS));
716   - g_free(ptr);
717   - }
718   -
719   - if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
720   - {
721   - filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
722   - }
723   -
724   - gtk_widget_destroy(dialog);
725   -#endif // _WIN32
726   -
727   - if(filename && *filename)
728   - set_string_to_config("files",name,"%s",filename);
729   -
730   - return filename;
731   - }
... ...