1. 28 Oct, 2016 1 commit
    • Christian Hergert's avatar
      diagnostics: refactor IdeDiagnostician into IdeDiagnosticsManager · ea863a74
      Christian Hergert authored
      The IdeDiangostician was attached to the IdeBuffer directly. Instead,
      IdeDiagnosticsManager is connected to the IdeContext. This is useful
      because it allows us to receive diagnostics out of band from the normal
      diagnose_async()/diagnose_finish() cycle.
      
      Additionally, this allows diagnostics to be created for objects other
      than the buffer in question. Such is useful with language servers where
      they may process diagnostics for the project as a whole.
      ea863a74
  2. 26 Oct, 2016 2 commits
  3. 25 Oct, 2016 7 commits
  4. 19 Oct, 2016 1 commit
    • Christian Hergert's avatar
      subprocess: add IdeSubprocessSupervisor · 1189ac3d
      Christian Hergert authored
      This will help us monitor processes that we need to keep running.
      Generally we'd prefer to use DBus for stuff like this, but we need
      something simple for external tools such as language-servers.
      1189ac3d
  5. 19 Sep, 2016 1 commit
    • Christian Hergert's avatar
      flatpak: abstract runtime check for flatpak · 679ed6d6
      Christian Hergert authored
      This adds ide_is_flatpak() to simplify our checks to see if we are running
      in our bundled environment. Generally we don't want to have to rely on
      this, but special cases do exist (such as choosing what terminal to run).
      679ed6d6
  6. 15 Sep, 2016 1 commit
    • Christian Hergert's avatar
      glib: add g_task_return_* helpers · 1c7988e5
      Christian Hergert authored
      If we are currently in the active tasks GMainContext, we can end up
      returning immediately. We don't want to do that in some cases because we
      hold a lock that is internal to the data structure.
      
      This allows those situations to be explicit about the dispatch cycle.
      1c7988e5
  7. 13 Sep, 2016 1 commit
    • Christian Hergert's avatar
      sandboxing: add subprocess abstraction · 883eb1f4
      Christian Hergert authored
      To support Building applications while running from inside the sandbox, we
      need to allow breaking out of the sandbox for such tooling. For example,
      we want to run the build tooling for flatpaks from the host system (since
      we wont have sufficient privileges inside the sandbox).
      
      This abstracts our use of GSubprocess so that we can have multiple
      implementations. Sadly, since GSubprocess is not an interface, we cannot
      simply create an alternate implementation.
      
      There are two implementations of the abstraction. IdeSimpleSubprocess is
      just a wrapper around GSubprocess (since our API is almost identical).
      Additionally, we have IdeHostProcess which is a process that runs within
      the host system, via the --allow=devel support in flatpak. Also required
      --talk-name=org.freedesktop.Flatpak.
      883eb1f4
  8. 03 Sep, 2016 1 commit
    • Christian Hergert's avatar
      build-commands: add prebuild and postbuild commands · 76d35253
      Christian Hergert authored
      This allows a configuration to specify additional commands that can be
      run before or after the build system has executed its build. This might
      be handy to setup various command hooks around a build system.
      
      Additionally, these should be usable by Nil build systems that just need
      to execute some commands as part of the build. (More on that later).
      76d35253
  9. 26 Aug, 2016 2 commits
  10. 23 Aug, 2016 2 commits
    • Christian Hergert's avatar
      header-bar: add IdeRunButton to the headerbar · 48682022
      Christian Hergert authored
      This tracks the various ways we can run the project, and ensures they can
      be selected from the headerbar.
      48682022
    • Christian Hergert's avatar
      run-manager: add concept of IdeRunHandler · 286a3db2
      Christian Hergert authored
      This allows various plugins to hook into the run pipeline. This is useful
      since we will have various ways to "run" an application. Such as through
      a profiler or debugger.
      
      We'd like the ability to simply "run again" and unify the selection of how
      to run the project, which requires just a bit of an abstraction. That is
      what the IdeRunHandlerInfo provides.
      286a3db2
  11. 21 Jul, 2016 1 commit
  12. 20 Jul, 2016 2 commits
    • Christian Hergert's avatar
      editor: use single instance of tab controls per stack · 8616b9aa
      Christian Hergert authored
      Instead of creatin new popovers and lists for every document that is
      opened, use a single instance of the controls per stack. This saves on
      lots of popovers when lots of documents are opened as well as cutting down
      on the amount of style validation that has to occur with those additional
      widgets.
      8616b9aa
    • Christian Hergert's avatar
      layout-stack: add IdeLayoutStackAddin · 0113cdea
      Christian Hergert authored
      This plugin interface can be used to extend the IdeLayoutStack. A new
      plugin instance will be created for each layout stack and destroyed when
      the stack is destroyed.
      
      This can be useful to add controls to the IdeLayoutStack. Doing so instead
      of using IdeLayoutView.get_controls() because it allows us to have a set
      of controls once rather than multiple times in the UI, saving widget
      overhead. This is more of a problem when using Popovers and Lists in that
      widgetry.
      0113cdea
  13. 17 Jul, 2016 2 commits
  14. 30 Jun, 2016 3 commits
  15. 28 Jun, 2016 4 commits
  16. 17 Jun, 2016 1 commit
    • Christian Hergert's avatar
      build: reorganize libide · d0121822
      Christian Hergert authored
      The libide/ directory was getting a bit out of control. The number of files
      in the directory was simply too much to make it easy for newcomers to
      find what they are looking for.
      
      This breaks things up into a bunch of, somewhat logical, directories.
      
      We no longer use a bunch of crazy include paths with -I, and instead
      include the directory name when including as such:
      
        #include "buffers/ide-buffer.h"
      
      This will hopefully make it easier to navigate, and basically the same to
      open files if you use fuzzy search to open files.
      d0121822
  17. 05 Jun, 2016 1 commit
  18. 29 May, 2016 2 commits
  19. 14 May, 2016 1 commit
  20. 10 May, 2016 1 commit
  21. 29 Apr, 2016 1 commit
  22. 28 Apr, 2016 1 commit
    • Christian Hergert's avatar
      build: make webkit dependency optional · 17323b36
      Christian Hergert authored
      This uses an embedded plugin that will fail to load if we did not link
      in support for webkit. Plugins like devhelp and html-preview should rely
      on this plugin as a dependency.
      17323b36
  23. 23 Mar, 2016 1 commit
    • Christian Hergert's avatar
      panel: rebase IdeLayout and IdeLayoutPane on panel-gtk · e9c4d1f2
      Christian Hergert authored
      Just in time for 3.20, we are landing the panel cleanup. This primarily
      allows us to improve things for the dot releases without breaking ABI,
      and additionally will fix a bunch of resize warnings introduced by gadgets
      in GTK+.
      
      To the user, things should be pretty much the same. However, we've laid
      the groundwork to be able to incrementally add panel dragging and
      reordering in upcoming releases.
      
      Additionally, we'll be able to add a floating layer to the system in good
      time (PnlDockOverlay).
      e9c4d1f2