1. 10 Jul, 2001 1 commit
    • Lutz Müller's avatar
      Add a menu item "Send" to the file menu. If this one is clicked, pop up an · 51e7bf1e
      Lutz Müller authored
      2001-07-10  Lutz Müller <urc8@rz.uni-karlsruhe.de>
      
              * src/workbook-control-gui.c: Add a menu item "Send" to the file menu.
              If this one is clicked, pop up an Evolution-Composer with current
              workbook attached.
              * src/file-priv.h: New virtual function for GnumFileSaver:
              save_to_stream.
              Introduce GnumFileSaverSaveToStreamFunc. Keep a mime type.
              * src/file.[c,h]: Implement save_to_stream and mime_type detection.
              * src/gui-file.[c,h]: Reduce copy & paste by introducing
              (make_format_chooser) and (check_multiple_sheet_support_if_needed).
              New function: (gui_file_save_to_stream) which asks for the desired
              mime type.
              * src/bonobo-io.c: This file saver doesn't support save_to_stream.
              * src/stf.c: This one either.
              * src/xml-io.[c,h]: Implement save_to_stream.
              * src/plugin-service.c: Pass NULL for save_to_stream.
      51e7bf1e
  2. 18 Jun, 2001 1 commit
  3. 05 Jun, 2001 1 commit
    • Chyla Zbigniew's avatar
      New function, some code moved from gui-file.c. · 7aba8116
      Chyla Zbigniew authored
      
      * src/gnumeric-util.[ch] (gnumeric_dialog_file_selection): New
      function, some code moved from gui-file.c.
      
      * src/workbook.[ch] (workbook_get_filename): New accessor function.
      
      * src/gui-file.h
      (gui_file_open): New function.
      (gui_file_import): Removed fname argument.
      
      * src/gui-file.c
      (gui_file_import): Create and open file selector, using
      gnumeric_dialog_file_selection to display it. Use one dialog to select
      file and file format, we don't need glade file anymore. Optionally
      show all registered openers as importers.
      (gui_file_save_as): Uses gnumeric_dialog_file_selection. Take
      workbook's current saver if current_saver is NULL (previously we've
      been loosing this information), use
      gnumeric_option_menu_get_selected_index instead of playing with
      signals.
      (gui_file_open): New function, some code moved from
      dialog_query_load_file.
      (gui_file_save): Always call wb_view_preferred_size.
      (do_save_as): Take GnumFileSaver as argument.
      (cb_select, handle_ok, saver_activate, fill_save_menu,
      make_format_chooser, file_dialog_delete_event, fs_key_event,
      fs_set_filename): Removed.
      
      * src/workbook-control-gui.c
      (cb_file_new): Just call gui_file_open.
      (cb_file_import): Call gui_file_import.
      (workbook_control_gui_init): Initialize current_saver with NULL.
      7aba8116
  4. 21 May, 2001 1 commit
    • Chyla Zbigniew's avatar
      Cleaned up file i/o interface. · 33d35aa2
      Chyla Zbigniew authored
      
      Cleaned up file i/o interface.
      
      * src/Makefile.am: Added file-priv.h.
      
      * src/file.[ch]:
      Made GnumFileOpener and GnumFileSaver GtkObjects with virtual probe,
      open and save methods.
      New GnumFileOpener methods: get_id.
      New GnumFileSaver methods: get_id, fix_file_name.
      New functions: register_file_opener, register_file_opener_as_importer,
      unregister_file_opener, unregister_file_opener_as_importer,
      register_file_saver, register_file_saver_as_default,
      unregister_file_saver, get_default_file_saver,
      get_file_opener_by_id, get_file_saver_by_id,
      get_file_savers, get_file_openers, get_file_importers.
      
      * src/file-priv.h: New file with definitions of structs:
      _GnumFileOpener, _GnumFileOpenerClass, _GnumFileSaver,
      _GnumFileSaverClass.
      
      * src/workbook.h
      (struct _Workbook): Added file_saver_sig_id field.
      s/FileSaver/GnumFileSaver/
      (workbook_get_file_saver): New accessor function.
      
      * src/workbook.c
      (cb_saver_destroy_event, workbook_destroy, workbook_set_saveinfo):
      When setting new file_saver, connect to its "destroy" signal and
      set file_saver to NULL in signal handler. Disconnect when changing file
      saver or destroying the workbook.
      (workbook_get_file_saver): New accessor function.
      
      * src/workbook-view.[ch]
      (wb_view_set_attributev): Renamed to wb_view_set_attribute_list and
      simplified.
      (wb_view_save_as, wb_view_save, wb_view_open, wb_view_open_custom): New
      methods (some code moved from file.c).
      
      * src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped):
      Use wb_view_open() instead of workbook_try_read()+file_finish_load().
      
      * src/gui-file.c
      (gui_file_import): Use get_file_importers(). Use
      wb_view_open_custom() instead of file_opener_open() + manual creation
      of wb_view, error checking, etc.
      (is_saver_registered): Removed.
      (saver_activate): Don't check if saver is really registered.
      (file_saver_is_default_format): Use get_default_file_saver() instead
      of strcmp(extension, "gnumeric") hack.
      (do_save_as): Use gnum_file_saver_fix_file_name().
      Adjusted everything to file.h, workbook.h, workbook-control.h.
      
      * src/gui-file.h (gui_file_import): Signature change, now function
      returns gboolean.
      
      * src/gutils.[ch] (g_list_index_custom): New function.
      
      * src/history.c (file_history_cmd), src/main.c (gnumeric_main),
      src/workbook-control-gui.c (cb_file_open): Use wb_view_open()
      instead of workbook_read().
      
      * src/workbook-control-gui-priv.h (struct _WorkbookControlGUI):
      s/FileSaver/GnumFileSaver/
      
      * src/plugin-service
      Created GnumPluginFileOpener and GnumPluginFileSaver classes (derived
      from GnumFileOpener and GnumFileSaver respectively). Moved contents of
      plugin_service_file_opener_probe_func,
      plugin_service_file_opener_open_func,
      plugin_service_file_saver_save_func into
      gnum_plugin_file_opener_probe, gnum_plugin_file_opener_open,
      gnum_plugin_file_saver_save methods (slightly modified).
      (plugin_service_file_opener_read): Read "open" and "import" attributes
      of <service> tag.
      (plugin_service_file_opener_initialize,
      plugin_service_file_opener_cleanup): Register/unregister created
      file opener (GnumPluginFileOpener object) as normal opener and/or
      importer depending on "open" and "import" XML attributes.
      (plugin_service_file_opener_initialize,
      plugin_service_file_opener_cleanup): Register/unregister created
      file saver (GnumPluginFileSaver object).
      
      * src/plugin-service.h
      (struct _PluginServiceFileOpener):
      Added can_open and can_import fields.
      s/FileOpener/GnumFileOpener/
      (struct _PluginServiceFileSaver):
      s/FileSaver/GnumFileSaver/
      
      * src/plugin-loader-module.c
      (struct ServiceLoaderDataFileOpener, struct ServiceLoaderDataFileSaver),
      gnumeric_plugin_loader_module_func_file_probe,
      gnumeric_plugin_loader_module_func_file_open,
      gnumeric_plugin_loader_module_func_file_save):
      s/FileOpener/GnumFileOpener/
      s/FileSaver/GnumFileSaver/
      
      * src/stf.c
      (stf_read_workbook, stf_write_workbook): Signature change
      (don't return gboolean).
      (stf_init): Adjusted to file i/o interface changes.
      
      src/xml-io.[ch]
      (gnumeric_xml_get_opener, xml_probe):
      s/FileOpener/GnumFileOpener/
      (gnumeric_xml_get_opener):
      s/FileSaver/GnumFileSaver/
      (gnumeric_xml_read_workbook, gnumeric_xml_write_workbook): Signature
      change (don't return gboolean).
      (xml_init): Adjusted to file i/o interface changes.
      33d35aa2
  5. 04 Jan, 2001 1 commit