1. 02 Nov, 2011 1 commit
    • Murray Cumming's avatar
      Add and use utility functions for creating temporary files. · 25562202
      Murray Cumming authored
      * glom/libglom/utils.[h|cc]: Added get_temp_file_uri(),
      get_temp_file_path(), get_temp_directory_uri() and
      get_temp_directory_path(), using the correct awkward code that
      avoids overwriting existing files.
      * glom/application.cc:
      * glom/libglom/connectionpool_backends/postgres_self.cc:
      * glom/libglom/report_builder.cc:
      * glom/utility_widgets/imageglom.cc:
      * tests/import/utils.cc:
      * tests/test_document_autosave.cc:
      * tests/test_selfhosting_new_empty.cc:
      * tests/test_selfhosting_utils.cc: Use these functions instead
      of repeating the same stuff badly.
      * Makefile_tests.am: Link to libglom so the import tests can use
      the new utility functions.
      25562202
  2. 28 Oct, 2011 1 commit
  3. 26 Oct, 2011 2 commits
    • Murray Cumming's avatar
      Add and move #includes for the latest glibmm. · 6e78d9b2
      Murray Cumming authored
      	* glom/import_csv/csv_parser.cc:
      	* glom/import_csv/dialog_import_csv_progress.cc:
      	* glom/libglom/connectionpool.cc:
      	* glom/libglom/connectionpool_backends/postgres_self.cc:
      	* glom/libglom/privs.cc:
      	* glom/libglom/spawn_with_feedback.cc:
      	* glom/mode_data/box_data_list.cc:
      	* glom/mode_data/box_data_list_related.cc:
      	* glom/mode_data/db_adddel/db_adddel.cc:
      	* glom/mode_data/notebook_data.cc:
      	* glom/mode_design/print_layouts/window_print_layout_edit.h:
      	* glom/utility_widgets/dialog_image_load_progress.cc:
      	* glom/utility_widgets/dialog_image_save_progress.cc:
      	* glom/utils_ui.cc:
      	* tests/import/utils.cc: Add individual glibmm includes now that
      	gmmproc does not include glibmm.h from headers.
      	Always include glibmm/thread.h first to avoid deprecation warnings.
      6e78d9b2
    • Murray Cumming's avatar
      Avoid deprecated Gtk::HandleBox with latest gtkmm. · 0040b65e
      Murray Cumming authored
      * glom/utility_widgets/sidebar.[h|cc]: Removed, because Gtk::HandleBox
      is deprecated.
      * Makefile_glom.am: Remove mention of this file.
      * glom/utility_widgets/layouttoolbar.[h|cc]: Derive directly from
      Gtk::ToolPalette instead.
      * glom/mode_design/print_layouts/print_layout_toolbar.[h|cc]: Adapt.
      
      * glom/mode_design/print_layouts/window_print_layout_edit.h: The glade
      file still has a GtkHandleBox which we should remove, but in the
      meantime just use it via Gtk::Box.
      0040b65e
  4. 25 Oct, 2011 1 commit
    • Murray Cumming's avatar
      Change #includes for the latest glibmm. · a9513ff7
      Murray Cumming authored
      Add individual includes instead of general giomm.h, glibmm.h or gtkmm.h
      includes.
      Among other things, this might let us avoid the annoying warning about
      deprecated GThread functions.
      a9513ff7
  5. 24 Oct, 2011 2 commits
  6. 18 Oct, 2011 1 commit
    • Murray Cumming's avatar
      Avoid some copy/pasting of code. · baa0549c
      Murray Cumming authored
      * glom/mode_design/print_layouts/print_layout_toolbar_button.cc:
      * glom/utility_widgets/layouttoolbar.cc:
      * glom/utility_widgets/layouttoolbarbutton.cc: Moved get_icon_path() to:
      * glom/utils_ui.[h|cc]
      baa0549c
  7. 10 Oct, 2011 1 commit
    • Murray Cumming's avatar
      Use gdk_window_get_device_position() instead of gdk_window_get_pointer(). · 2e970052
      Murray Cumming authored
      * glom/mode_data/box_data_calendar_related.cc:
      * glom/mode_data/buttonglom.cc:
      * glom/mode_data/datawidget/checkbutton.cc:
      * glom/mode_data/datawidget/combo.cc:
      * glom/mode_data/datawidget/combo_as_radio_buttons.cc:
      * glom/mode_data/datawidget/datawidget.cc:
      * glom/mode_data/datawidget/entry.cc:
      * glom/mode_data/datawidget/label.cc:
      * glom/mode_data/datawidget/textview.cc:
      * glom/mode_data/db_adddel/db_adddel.cc:
      * glom/mode_data/flowtablewithfields.cc:
      * glom/utility_widgets/adddel/adddel.cc:
      * glom/utility_widgets/imageglom.cc:
      * glom/utility_widgets/notebooklabelglom.cc: A fairly simple search/replace.
      2e970052
  8. 09 Oct, 2011 2 commits
  9. 06 Oct, 2011 3 commits
    • Murray Cumming's avatar
      Details: Do not enable drag-and-drop by default. · 73aa0815
      Murray Cumming authored
      * glom/utility_widgets/flowtable.cc: Turn of drag-and-drop by default in
      the EggSpreadTableDnd
      * glom/mode_data/flowtablewithfields.[h|cc]: Added set_enable_drag_and_drop().
      * glom/mode_data/box_data_details.[h|cc]: Added set_enable_drag_and_drop(),
      calling the FlowTableWithFields.
      glom/application.[h|cc]: Rename the Show Layout Toolbar menu item to
      Drag and Drop Layout, though that is a bad name and I would like a better one.
      * glom/frame_glom.[h|cc]:  show_layout_toolbar(): Rename to
      set_enable_layout_drag_and_drop().
      * glom/mode_data/notebook_data.[h|cc]: Rename show_layout_toolbar() to
        set_enable_layout_drag_and_drop() and make it enable dnd as well as showing
        the toolpallette. The toolpalette is then a visual indication that
        drag-and-drop is possible.
      * glom/mode_data/test_flowtablewithfields.cc: Add a sub-group and enable
      drag and drop.
      73aa0815
    • Murray Cumming's avatar
      Update EggSpreadTable tests. · fdc7379a
      Murray Cumming authored
      	* glom/utility_widgets/eggspreadtablemm/test_spreadtablednd.cc: Fix a crash.
      	* glom/utility_widgets/test_flowtable.cc:
      	* glom/utility_widgets/test_flowtable_dnd.cc: Adapt to the changed API.
      fdc7379a
    • Murray Cumming's avatar
      Update EggSpreadTable · d1950805
      Murray Cumming authored
      * glom/utility_widgets/eggspreadtable/: Update from libegg with Tristan's
      changes.
      * glom/utility_widgets/eggspreadtablemm/: Adapt.
      d1950805
  10. 30 Sep, 2011 2 commits
    • Murray Cumming's avatar
      Print Layout: Create Standard Layout: Support multiple pages. · 1519d335
      Murray Cumming authored
      * glom/mode_design/print_layouts/window_print_layout_edit.[h|cc]:
      create_standard(): Support multiple pages, trying to keep out of the margins.
      * glom/print_layout/canvas_print_layout.cc: add_layout_group_children():
        Do not add canvas items that were not able to handle the layout item, such
        as buttons.
      1519d335
    • Murray Cumming's avatar
      Print Layout: Allow multiple pages. · 76c73178
      Murray Cumming authored
      * glom/libglom/data_structure/print_layout.[h|cc]: Add get/set_page_count().
      * glom/libglom/document/document.cc: load_after(), save_before():
      Store the page count in the document.
      * glom/glom_document.dtd: Mention the new attribute.
      
      * glom/print_layout/canvas_print_layout.[h|cc]: Add get/set_page_count()
      and get_page_bounds().
      update_page_bounds(): Move the margin creation into here, and create
      margins for all pages.
      * glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
        Added update_grid_for_new_size().
      * glom/mode_design/print_layouts/window_print_layout_edit.[h|cc]: Add
      Add Page and Delete Page menu items, though we need to rearrange the menus
      more sensibly.
      
      * glom/printoperation_printlayout.cc: on_begin_print(), on_paginate():
        Set the number of pages.
        on_draw(): Render only the specified page's bounds from the GooCanvas.
        However, this is not working for any page but the first one.
        Some cairo transformation might be necessary.
      76c73178
  11. 26 Sep, 2011 1 commit
    • Murray Cumming's avatar
      Document: Use CSS3 formatting for colors, via Gdk::RGBA. · d942856c
      Murray Cumming authored
      * glom/mode_design/layout/dialog_layout_list_related.cc:
      * glom/mode_design/layout/layout_item_dialogs/box_formatting.cc:
      * glom/mode_design/layout/layout_item_dialogs/dialog_line.cc:
      * glom/utility_widgets/canvas/canvas_line_movable.[h|cc]: Use Gdk::RGBA
      instead of Gdk::RGBA everywhere now that goocanvas(mm) supports it.
      d942856c
  12. 20 Sep, 2011 1 commit
  13. 19 Sep, 2011 1 commit
  14. 09 Sep, 2011 1 commit
  15. 08 Sep, 2011 1 commit
    • Murray Cumming's avatar
      Remove the Mameo UI. · e4e655db
      Murray Cumming authored
      * Makefile.am:
      * Makefile_glom.am:
      * configure.ac:
      * glom/*.[h|cc]: Remove the --enable-maemo option and the ifdefs in the code.
      Unforunately, the platform is dead so that Hildon API will never be available
      to us in the real world.
      e4e655db
  16. 01 Sep, 2011 2 commits
    • Murray Cumming's avatar
      Replace deprecated Gtk::HBox and Gtk:VBox with Gtk::Box. · 24f15cdf
      Murray Cumming authored
      * glom/*.[h|cc]: HBox and VBox are deprecated.
      However, these are still used in the .glade files.
      24f15cdf
    • Murray Cumming's avatar
      Update EggSpreadTableDnd from libegg. · 4474bc6e
      Murray Cumming authored
      * glom/utility_widgets/eggspreadtable/eggspreadtablednd.[h|c]:
      Updated from libegg.
      * glom/utility_widgets/eggspreadtablemm/eggspreadtabledndmm.[h|cc]:
      Wrap the new API to add and remove widgets. Note the extra reference() in
      remove_child(), like Gtk::Container::remove().
      * glom/utility_widgets/eggspreadtablemm/test_spreadtablednd.cc: Adapt.
      * glom/utility_widgets/flowtable.[h|cc]: Adapt and make several corrections,
      for instance to really find our intermediate hbox parents.
      However, there is still a warning (from our code) about trying to remove a
      hbox that has no parent.
      * glom/mode_data/flowtablewithfields.[h|cc]: Remove the add_before parameters,
      always adding at the end, because we do not need the ability to insert
        anywhere else, and doing so required examining the children, but
        EggSpreadTableDnd adds internal children that we don't want to care about.
      4474bc6e
  17. 31 Aug, 2011 1 commit
    • Murray Cumming's avatar
      Print Layout: Allow the user to choose row and column line widths and color. · 996134e8
      Murray Cumming authored
      * glom/libglom/data_structure/layout/layoutitem_portal.[h|cc]: Added
      get/set_print_layout_row_line_width(),
        get/set_print_layout_column_line_width(), and
        get/set_print_layout_line_color().
      * glom/libglom/document/document.cc: load_after(), save_before(): Store the
      new details in the document.
      * ui/developer/window_data_layout.glade: Added an optional extra section
      with line details for print layouts.
      * glom/mode_design/layout/dialog_layout_list_related.[h|cc]: Use the new
      widgets, hiding them for non-print-layout uses.
      * glom/mode_design/layout/dialog_layout_details.[h|cc]: Hide the new widgets
      by default.
      * glom/utility_widgets/canvas/canvas_table_movable.[h|cc]:
        Added set_line_details().
      * glom/print_layout/canvas_layout_item.cc:
        create_canvas_item_for_layout_item(): Call set_line_details().
      996134e8
  18. 30 Aug, 2011 1 commit
  19. 27 Aug, 2011 1 commit
  20. 22 Aug, 2011 1 commit
  21. 13 Aug, 2011 1 commit
  22. 12 Aug, 2011 1 commit
    • Murray Cumming's avatar
      Print Layout: Work around some weirdness in portal tables. · b7258bad
      Murray Cumming authored
      * glom/print_layout/canvas_layout_item.cc:
      create_canvas_item_for_layout_item() Do not set the height of
      items in tables, because that leads to them disappearing when the
      table is moved in certain ways. I am still investigating why.
      We probably really do want to set the height.
      b7258bad
  23. 11 Aug, 2011 7 commits
  24. 10 Aug, 2011 4 commits
    • Murray Cumming's avatar
      Print Layout: Make items transparent. · 8cf4a1e9
      Murray Cumming authored
      * glom/utility_widgets/canvas/canvas_group_resizable.cc:
      create_rect_manipulators(): Make items transparent instead of white.
      8cf4a1e9
    • Murray Cumming's avatar
      Print Layout: Allow rules to be moved. · 18fc62f1
      Murray Cumming authored
      * glom/utility_widgets/canvas/canvas_line_movable.[h|cc]: Added
      set_hover_color() and make sure that color is used when the mouse is
      over the line.
      * glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
      Use CanvasLineMovable instead of PolyLine for rules, so it can
      be moved. Make it appear red when hovering over it. Store the
      lines instead of just the positions, so we can get the latest positions
      later. This is rather inefficient, but it works.
      18fc62f1
    • Murray Cumming's avatar
      Print Layout: Save the rules and the various show/hides. · e2cd0534
      Murray Cumming authored
      * glom/glom_document.dtd: Add the new nodes and attributes.
      * glom/libglom/document/document.cc: load_after(), save_before():
      Load and save these in the document.
      
      * glom/mode_design/print_layouts/window_print_layout_edit.cc:
      set_print_layout(): Set the menu actions from the PrintLayout
      so, for instance, the grid is shown if it was shown last time.
      * glom/print_layout/canvas_print_layout.cc:
      set_print_layout(): Load and save the rules too.
      * glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
      Added remove_rules() and get_horizontal/vertical_rules().
      * glom/utility_widgets/canvas/canvas_editable.[h|cc]:
      Added remove_rules() and get_horizontal/vertical_rules(),
      calling the same methods in the grid.
      * glom/libglom/data_structure/print_layout.[h|cc]:
      Added get/set_grid/rules/outlines() and
      get_horizontal/vertical_rules().
      e2cd0534
    • Murray Cumming's avatar
      Print Layout: Allow dragging of rules from the rulers. · ce598bc4
      Murray Cumming authored
      * glom/utility_widgets/canvas/canvas_group_grid.[h|cc]:
      Added show_temp_rule().
      * glom/utility_widgets/canvas/canvas_editable.[h|cc]:
      Added show_temp_rule(), calling the one in the grid.
      * glom/mode_design/print_layouts/window_print_layout_edit.[h|cc]:
      Constructor: Add a special target to the canvas (drag destination).
      Handle button-press on the rulers to identify the orientation.
      on_canvas_drag_motion(): Handle the new target, showing the temporary
      rule line.
      on_canvas_drag_data_received(): Handle the new target, adding a real
      rule line.
      on_canvas_drag_leave(): clean up.
      
      The rule lines are not saved to the document yet.
      ce598bc4