1. 01 Dec, 2021 1 commit
  2. 21 Oct, 2021 1 commit
    • Ahmad Samir's avatar
      Optimise saving profile shortcuts · c24a0876
      Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      - Call ProfileSettings::slotAccepted() when the parent ConfigurationDialog
        is accepted, so that ProfileManager::saveSettings() is called
      - don't delete the ProfileSettings dialog on accept, it'll be destroyed when
        the parent ConfigurationDialog is destroyed
      - save the profiles' shorcuts if they were actually changed
      
      With this commit and the previous one, there is no need for ~Part() or
      ~Application() to call saveSettings(), shorcuts settings are saved when
      the ProfileSettings dialog is accepted and saving the default profile is
      done in setDefaultProfile(). This fixes an issue where changing e.g. the
      default profile is only saved to the konsolerc file when the main window is
      closed.
      c24a0876
  3. 22 Sep, 2021 2 commits
  4. 20 Sep, 2021 3 commits
    • Ahmad Samir's avatar
      Fix initial window size again; also always set Qt::WA_NativeWindow · fb7ff04d
      Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      The Qt::WA_NativeWindow attribute is need so that windowHandle() doesn't
      return 0, since windowHandle() is used in two places now in the code, just
      always set it.
      
      When rememberWindowSize() is false, override the Window-Maximized config
      key, which maximizes the window initially.
      
      To test:
      - unset "remember window size"
      - close the window and make sure the config has been saved to konsolerc
      - open konsole, keep the window unmaximized, close, open -> size is restored
      - open konsole, maximize the window, close, open, the window is maximized
        even when rememberWindowSize() is false
      fb7ff04d
    • Eugene Popov's avatar
    • Eugene Popov's avatar
      Use one option to control menubar visibility · 5fc0c180
      Eugene Popov authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Currently there are two options to control menubar visibility: the first in the menu and the second in the preferences dialog, moreover the second option makes the changes persistent. This MR removes the second option (from the preferences dialog) and makes the first option (from the menu) make the changes persistent.
      
      BUG: 440328
      5fc0c180
  5. 15 Sep, 2021 3 commits
  6. 06 Sep, 2021 1 commit
  7. 05 Sep, 2021 1 commit
  8. 31 Aug, 2021 1 commit
  9. 12 Aug, 2021 1 commit
    • Ahmad Samir's avatar
      Prevent window "flashing" when closing the last session · bbec7225
      Ahmad Samir authored
      There are two scenarios when closing a window:
      A) clicking the close button on the title bar (or Ctrl+Shift+Q):
      ~MainWindow()
      ~ViewManager()
      ~TabbedViewContainer()
      ~TerminalDisplay()
      ~Session()
      
      B) closing the last session/tab in a window:
      SessionController::sessionFinished()
      ~Session()
      ~TerminalDisplay()
      ~TabbedViewContainer()
      ~MainWindow()
      ~ViewManager()
      
      the issue with the second case is that the TerminalDisplay is torn down
      first, which exposes the TabbedViewContainer widget, the latter has the same
      Qt::Window colour as the system colour scheme window background colour, if
      you're using a dark terminal colour scheme and a light-coloured system colour
      scheme, you could see some "flashing" when you close the last session with
      e.g. Ctrl+D.
      
      To fix this, in sessionFinished() check if TabbedViewContainer::count() is
      1 (i.e. closing last tab/session), and emit the empty() signal in that case,
      which is connected to MainwWindow::close(), then the order of tear down
      becomes:
      SessionController::sessionFinished()
      ~Session()
      ~MainWindow()
      ~ViewManager()
      ~TabbedViewContainer()
      ~TerminalDisplay()
      
      BUG: 432077
      FIXED-IN: 21.12
      bbec7225
  10. 02 Aug, 2021 3 commits
    • Ahmad Samir's avatar
      Remove statusbar related code · 414f933f
      Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      It shouldn't be created any more since we don't pass the
      KXmlGuiWindow::StatusBar flag when using KXmlGuiWindow::setupGUI().
      
      GIT_SILENT
      414f933f
    • Ahmad Samir's avatar
      Fix MainWindow size when there is no saved size · bb7dd804
      Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      The very first time a user runs Konsole, where is no konsolerc file in $HOME,
      there is no saved size to restore, instead use the sizeHint(), which ideally
      will be the size set in the default profile (based on lines/columns setting).
      
      CCBUG: 437791
      bb7dd804
    • Ahmad Samir's avatar
      Fix KXmlGUI toolbars; and Konsole MainWindow size · 09035666
      Ahmad Samir authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      Call setupGUI(), which will call createGUI (since we set the
      KXmlGuiWindow::Create flag), omit the StatusBar flag since we don't have a
      statusbar and don't want the "Show StatusBar" menu action.
      
      TabbedViewContainer::sizeHint() calculates an optimum size for itself,
      including the sizes of its child widgets; added in efb621d0 by
      Mariusz Glebocki; following the code:
      MainWindow creates a ViewManager
      ViewManager creates a TabbedViewContainer and then a TerminalDisplay
      
      which means that the first time TabbedViewContainer::sizeHint() is called
      the TerminalDisplay widget size is 0, then TabbedViewContainer::sizeHint()
      would return 0.
      
      Which is why calling resize() in MainWindow was delayed to the showEvent(),
      (and even delayed more by a QTimer::singleShot() call in Application),
      at which point all the child widgets have been created and
      MainWindow::sizeHint() (which logically takes into account the sizeHint()
      of its child widgets) would return a sensible size.
      
      CCBUG: 430036
      CCBUG: 439339
      BUG: 436471
      09035666
  11. 26 Jul, 2021 1 commit
  12. 23 Jul, 2021 1 commit
  13. 02 Jul, 2021 1 commit
  14. 30 Jun, 2021 1 commit
  15. 24 Jun, 2021 1 commit
    • Tomaz  Canabrava's avatar
      Implement a Base system for plugins within Konsole · 2c1a4113
      Tomaz Canabrava authored and Tomaz  Canabrava's avatar Tomaz Canabrava committed
      This commit introduces a plugins sytem for konsole, so we can
      extend the application without touching the core. Currently
      there's a testcase plugin (in the next commit) that handles
      ssh connections and will serve as a base introduction on how
      to write plugins for konsole.
      
      Things we need to keep in mind when developing a plugin for
      konsole:
      - We can have more than a mainwindow, so if the plugin creates
      widgets, it needs to create the widget per window
      - We can have multiple tabs / multiple TerminalDisplays so always
      check what terminal display you are triggering the action (using
      activeTerminalDisplay())
      
      From the mainWindow you can get the activeTerminalDisplay, from
      the terminalDisplay you can get the Session, the VT102Emulation and
      the Screen.
      
      Then you can go crazy.
      2c1a4113
  16. 23 Jun, 2021 2 commits
  17. 18 Jun, 2021 1 commit
  18. 16 May, 2021 1 commit
  19. 01 May, 2021 1 commit
    • Carlos Alves's avatar
      Fix crash showing Settings Dialog · 49692c0f
      Carlos Alves authored
      When you open settings and close it, than open a new window, than
      close the old window, the MainWindow with the settings will
      delete the configDialog. If you try to open settings againg it crashes.
      
      Fix is each MainWindow now has its own configDialog.
      
      BUG: 436366
      49692c0f
  20. 26 Apr, 2021 1 commit
  21. 24 Apr, 2021 1 commit
  22. 01 Mar, 2021 1 commit
    • Ahmad Samir's avatar
      Update the profiles list menu when the default profile is changed · a59d9b8d
      Ahmad Samir authored
      Now the 'File->New Tab' menu is updated when the default profile is
      changed, i.e. the action font is made bold and the favourites icon
      emblem is added to the profile icon.
      
      A call to menu()->setDefaultAction() has been removed, as I don't see
      what it serves exactly in the current code.
      
      Reported by khindenburg in:
      !351
      a59d9b8d
  23. 15 Feb, 2021 1 commit
  24. 20 Jan, 2021 1 commit
    • Nate Graham's avatar
      Fix "Remember window size" not working when unchecked · d22236c3
      Nate Graham authored and Kurt Hindenburg's avatar Kurt Hindenburg committed
      When this feature is turned off, it deletes some keys from Konsole's
      config file. However this broke recently for two reasons:
      
      1. The key names changed a few Frameworks releases ago
      2. There are new keys that need to be deleted or else position gets
         restored too
      
      This commit fixes that bug by updating the condition to delete all the
      config keys required to make the off state for this feature work again.
      
      BUG: 427610
      FIXED-IN: 20.12.2
      (cherry picked from commit 8fa1c4b5)
      d22236c3
  25. 02 Jan, 2021 1 commit
    • Carlos Alves's avatar
      Remove deprecated functions · 343d8595
      Carlos Alves authored
      Konsole minimum required version is QT 5.14 and KF5 5.71, there is no
      need to keep support for those deprecated functions.
      343d8595
  26. 09 Dec, 2020 1 commit
  27. 02 Dec, 2020 1 commit
  28. 13 Nov, 2020 3 commits
  29. 25 Oct, 2020 1 commit
  30. 07 Oct, 2020 1 commit