1. 07 Dec, 2020 6 commits
  2. 06 Dec, 2020 1 commit
  3. 05 Dec, 2020 4 commits
  4. 04 Dec, 2020 2 commits
  5. 02 Dec, 2020 8 commits
  6. 01 Dec, 2020 4 commits
  7. 30 Nov, 2020 15 commits
    • Gaël Bonithon's avatar
      2a36b74e
    • Gaël Bonithon's avatar
      Allow to change the font size from keyboard/mouse · afa94c95
      Gaël Bonithon authored
      This allows to increase/decrease the font size from a keybinding
      (Ctrl +/- by default), or using Ctrl + mouse wheel. This font size
      change is temporary, reset by a settings change, and applies only to
      the active view.
      
      Closes #46 and #54, see !60 for more details.
      afa94c95
    • Gaël Bonithon's avatar
      Code refactoring around MousepadView properties · 5d0a5d86
      Gaël Bonithon authored
      This is a preliminary commit before adding a new feature, allowing to
      change the font size from keyboard/mouse.
      
      * Replace "font-name" with "font" ("font-name" is deprecated as
        GtkFontButton property since GTK+ 3.22, and quite confusing since
        it's actually some kind of font description).
      * Make properties only writable, since it's the only way they are
        accessed in the code.
      * Clarify the way the font is set, depending on whether the default
        font is used or not.
      
      See !60 for more details.
      5d0a5d86
    • Gaël Bonithon's avatar
      A little code review about error handling · c39b5ad9
      Gaël Bonithon authored
      * Use `g_printerr()` only in command line context.
      * Don't translate messages from `G_LOG_LEVEL_WARNING` and beyond.
      
      See !61 for more details.
      c39b5ad9
    • Gaël Bonithon's avatar
      Add a spinner to the search widgets · 73487a99
      Gaël Bonithon authored
      This activates a spinner when a search is in progress, instead of an
      outdated or empty occurrences count, both in the search bar and the
      replace dialog.
      
      See !58 for more details.
      73487a99
    • Gaël Bonithon's avatar
      Connect the search bar to the "switch-page" signal · fb68c10f
      Gaël Bonithon authored
      This causes the search bar to follow tab switching, as is already the
      case with the replace dialog. If both widgets are used at the same
      time, the replace dialog takes precedence over the search bar to
      prevent conflicts.
      
      See !58 for more details.
      fb68c10f
    • Gaël Bonithon's avatar
      Make the occurrences count appear in the search bar · d50625c9
      Gaël Bonithon authored
      This makes the occurrences count appear in the search bar, instead of
      the "Replace All" button. This one is moved in the menubar, with the
      other search-related items.
      
      See !58 for more details.
      d50625c9
    • Gaël Bonithon's avatar
      Switch to asynchronous search · f8f0a845
      Gaël Bonithon authored
      This switches to asynchronous search, so as not to block the UI when
      searching in big files and/or with regex search enabled. This is almost
      required when the search mode is "find as you type", which is the case
      for Mousepad.
      
      This also improves the search widgets behavior when documents change
      (from the buffer or tab), and the consistency between search widgets
      when used together, within the limits of what is possible.
      
      Codewise, this makes increased use of signals to connect the different
      widgets involved in the search, from the search bar and replace dialog
      to the documents, through the window and back. Some precautions are
      also taken to avoid prohibitive computation times in some situations,
      because of a GtkSourceView issue.
      
      See !58 for more details.
      f8f0a845
    • Gaël Bonithon's avatar
      Add a GMenuModel-GtkToolbar binding · a1a54fb4
      Gaël Bonithon authored
      This last commit of the "GMenuModel-* binding" series adds a
      `mousepad_window_toolbar_new_from_model()` function, in echo to the
      `gtk_menu_bar_new_from_model()` function.
      
      The goal is to build the same kind of binding, using again the
      "items-changed" GMenuModel signal, and taking advantage of the use of
      shared menu items introduced in the previous commit.
      
      See !50 for more details.
      a1a54fb4
    • Gaël Bonithon's avatar
      Add a GMenuModel-GMenuModel binding · 0a58fcf6
      Gaël Bonithon authored
      This GMenuModel-GMenuModel binding not only involves the use of the
      "items-changed" signal, but also a trick in the way to write the
      GtkBuilder menu files (`mousepad/resources/gtk/*.ui`).
      
      The goal is to remove duplicates in these files, by defining a menu
      item only once (with all its attributes: label, icon, tooltip, action,
      accel, etc.), and then reusing it in any menu where it should appear,
      using a syntax close to the expected but missing
      `<item id="my-already-defined-item"/>`.
      
      Downstream, this simplifies the synchronization of the different
      widgets that use these shared menu items, and makes the overall
      code easier to maintain.
      
      See !50 for more details.
      0a58fcf6
    • Gaël Bonithon's avatar
      Use icon names instead of GIcons to allow property binding · 7c6a6b5d
      Gaël Bonithon authored
      This is a preliminary commit before adding a binding between different
      kinds of GMenuModels.
      
      See !50 for more details.
      7c6a6b5d
    • Gaël Bonithon's avatar
      Add a GMenuModel-GtkMenu binding for tooltip updates · 7b4c7b4b
      Gaël Bonithon authored
      Using the "items-changed" GMenuModel signal, this adds an additional
      GMenuModel-GtkMenu binding (they are already bind in
      `gtk_menu_bar_new_from_model()`), to automatize a bit more tooltip
      updates, and localize a bit more this process in
      `mousepad_window_menu_set_tooltips()`.
      
      See !50 for more details.
      7b4c7b4b
    • Gaël Bonithon's avatar
      Give more choice for whitespace display · 8ca595de
      Gaël Bonithon authored
      This adds the ability to display only the white spaces at the beginning
      of the line, the end of the line or between words (or any combination
      of these three possibilities), accessible only from GSettings.
      
      To do this, a property is added to the application that is synchronized
      with GSettings on the one hand, and with the different views on the
      other hand.
      
      Closes #44, see !46 for more details.
      8ca595de
    • Gaël Bonithon's avatar
      0b3b166c
    • Gaël Bonithon's avatar
      Code refactoring around GAction-GSettings binding · 8349795e
      Gaël Bonithon authored
      Using the correspondence between GAction and GSettings (common names,
      common use of GVariant), this commit globally simplifies action
      handling. In particular, setting-related actions are transferred from
      the window level to the application level, resulting in only three
      generic handlers to bind an action to its setting.
      
      As `mousepad/resources/ui/mousepad-prefs-dialog.ui` was already heavily
      impacted by these changes, this also adds some cleaning (consistency
      and/or updating of the notations used), and incorporates some object
      property bindings currently made in `mousepad/mousepad-prefs-dialog.c`.
      
      See !48 for more details.
      8349795e