1. 04 Mar, 2015 4 kayıt (commit)
    • Jiří Techet's avatar
      Add right-click launcher icon entry creating a new window · 232d4dac
      Jiří Techet yazdı
      Normal clicking the launcher icon just brings the application to
      the foreground so there must be a way users can create a new
      instance of Geany.
      
      Add an entry "New Window" to the context menu which is shown
      when right-clicking the Geany icon in the launcher (most applications
      have the "New Window" entry there).
      
      In addition, fix "Open in new window" when using app bundle.
      
      Since both of these functionalities create a new Geany instance,
      factor-out the instance creation code into a new utility function
      and use it in both cases.
      232d4dac
    • Jiří Techet's avatar
      React to various useful gtk-mac-integration signals · 56288576
      Jiří Techet yazdı
      NSApplicationBlockTermination signal is emitted when clicking
      the Quit menu to check whether the application permits
      quitting - react accordingly.
      
      ---
      
      NSApplicationOpenFile signal is emitted when
      
      * file is dragged on the application icon
      * application is selected from "Open with" menu after right-clicking
      the file
      * when double-clicking a file for which the application is default
      editor/viewer
      * when file is opened from command-line
      
      When the application isn't running, it is first started and then this
      signal is emitted.
      
      Use the signal to open files. In addition, when the opened file
      has the ".geany" suffix, open it (but only if the project isn't already
      open). The project has to be opened in idle function because blocking
      the signal handler for a long time by the project-close confirmation
      dialog causes problems.
      56288576
    • Jiří Techet's avatar
      Use global menubar on OS X · ada45952
      Jiří Techet yazdı
      We have to disable quartz accelerator handling because otherwise
      accelerators are performed also from other windows than the main
      Geany editor (e.g. Ctrl+V with find dialog open performs the keybinding
      Ctrl+V and inserts the text to the editor).
      
      OS X applications have an extra menu entry to the left of the File menu -
      an "application menu". This menu usually contains About, Preferences,
      Quit. Many users, however, may be used to Geany from other platforms
      and expect Preferences to be under the Edit menu so leave them there.
      Quit and About are rarely used and the application menu is the place where
      they are supposed to be - move these entries from other Geany menus there
      and hide them in the affected menus (the quit entry is inserted automatically,
      we just need to hide it from File).
      
      Also tell OS X the Help menu is dedicated to help (we get search in
      menu entries by name for free thanks to this).
      
      The global menu should refresh automatically based on user actions.
      Unfortunately this is not the case when gtk_menu_reorder_child()
      is used because it does not emit any signals so the gtk-mac-integration
      library doesn't see this call. Refresh the menu manually after calling
      this function.
      ada45952
    • Jiří Techet's avatar
      Use gtk-mac-integration so app bundle can be created on OS X · 18d517bd
      Jiří Techet yazdı
      This patch adds the gtk-mac-integration library and uses it to
      adjust various paths in Geany to point it inside the app bundle
      if Geany runs from inside the bundle.
      
      It adds the utils_resource_dir() utility function to return
      correct directories for various kinds of resources for all supported
      operating systems. Using this function the patch adjusts all Geany
      resource, plugin, icon, doc, and locale paths.
      18d517bd
  2. 03 Mar, 2015 4 kayıt (commit)
  3. 28 Şub, 2015 1 kayıt (commit)
  4. 25 Şub, 2015 1 kayıt (commit)
    • Thomas Martitz's avatar
      autotools: Install to $prefix/data on win32 · cc6602c2
      Thomas Martitz yazdı
      setup_paths() sets app->datadir to $prefix/win32. With mingw-via-autotools,
      it installed data to $prefix/share/geany (like on Linux). With this change
      data is installed to $prefix/data ($datarootdir is not changed).
      
      This fixes geany startup after make install with autotools.
      
      Linux:
      pkgdatadir = ${datarootdir}/geany
      GEANY_DATA_DIR = /path/to/prefix/share/geany
      
      Win32:
      pkgdatadir = ${prefix}/data
      GEANY_DATA_DIR = /path/to/prefix/data
      cc6602c2
  5. 24 Şub, 2015 1 kayıt (commit)
  6. 21 Şub, 2015 3 kayıt (commit)
    • Colomban Wendling's avatar
      Optimize notebook page -> document lookup and remove dead code · 8aa4f11c
      Colomban Wendling yazdı
      This actually fixes a theoretical bug introduced when notebook pages
      stopped being ScintillaWidgets, but this bug had no effect because it
      was in a dead code path -- because no, `page_num` never is -1 nor
      `page` NULL.
      8aa4f11c
    • Colomban Wendling's avatar
      1a8de8fb
    • Colomban Wendling's avatar
      Fix emission of the ::document-activate signal · 99552dbe
      Colomban Wendling yazdı
      The ::document-activate signal was not emitted when opening the first
      tab of the notebook, e.g. when the tab count changed from 0 to 1.
      
      This is because the ::document-activate signal is emitted in response
      to the GtkNotebook::switch-page signal, which is emitted whenever the
      currently displayed page changes.  When there already is a current page
      (when there is one or more pages), adding a new page does not trigger
      the signal, as this new page doesn't become the current one (we will
      switch to it later).  However, when there are none, the newly added one
      becomes current, and so the signal is emitted right away.
      
      This is problematic because when we add the page to the notebook, the
      document associated with it is not yet ready (only partly initialized),
      and so we can't emit the signal on a valid document, and we discard it.
      
      Not emitting this signal leads to inconsistent behavior introducing
      subtle bugs in plugins relying on it.
      
      To work this around, only show the page widget (the child added to the
      notebook) after we finished initializing everything.  This is the
      simplest fix, because a lot of the code around document creation and
      opening depend on the fact the page is already added, so while delaying
      the page addition sounds like the more sensible fix, it has non-trivial
      consequences that would require a large amount of work to overcome.
      
      Note that interestingly, in addition to our problem, GtkNotebook seems
      to have a bug as it emits the ::switch-page right when adding the first
      page even if that page is not visible.  However, it properly emits it
      again when the child becomes visible, so we just still discard the
      first emission like we used to.
      99552dbe
  7. 20 Şub, 2015 2 kayıt (commit)
  8. 17 Şub, 2015 2 kayıt (commit)
  9. 15 Şub, 2015 2 kayıt (commit)
  10. 13 Şub, 2015 3 kayıt (commit)
  11. 12 Şub, 2015 1 kayıt (commit)
    • Jiří Techet's avatar
      Revert some OS X keybinding changes for VTE · e613d931
      Jiří Techet yazdı
      While all normal keybindings use the Command key instead of
      control key on OS X, all the command-line applications and
      terminal emulators use the Ctrl key like on Linux. This includes
      Ctrl+C (SIGINT) and Ctrl+D (EOF) for which there is some
      special handling in the VTE support in Geany and which should
      use GDK_CONTROL_MASK instead of GEANY_PRIMARY_MOD_MASK.
      e613d931
  12. 11 Şub, 2015 4 kayıt (commit)
  13. 10 Şub, 2015 5 kayıt (commit)
  14. 08 Şub, 2015 2 kayıt (commit)
  15. 01 Şub, 2015 1 kayıt (commit)
  16. 31 Ock, 2015 4 kayıt (commit)