1. 29 Oct, 2020 1 commit
  2. 23 Oct, 2020 1 commit
    • Nate Graham's avatar
      Don't session-restore invalid paths · c733b3aa
      Nate Graham authored
      When session restore is populating the main window, it's unconditional;
      you'll get whatever was there before. This can be a problem if any of
      those things are now missing. For example, maybe you were browsing files
      on a removable disk, then quit Dolphin, and finally removed the disk. The
      next time you launch Dolphin again, it will try to show you the
      view from the now-missing removable disk.
      
      To prevent this, we now look at all the URLs in all of the view
      containers that were created after session-restore has finished doing
      its thing; if any of them are invalid local URLs, we change the URL to
      the home folder instead to avoid showing the user a view with an invalid
      location in it.
      
      BUG: 427619
      FIXED-IN: 20.12
      c733b3aa
  3. 11 Oct, 2020 1 commit
    • Nate Graham's avatar
      When restoring former window state, append any URLs passed as args · 4937992e
      Nate Graham authored
      Before, when Dolphin was closed but opened with any URLs, it would open
      a new window with only those URLs, rather than restoring any window
      state (if the user has this feature enabled).
      
      Now, Dolphin will first restore state (if enabled) and then append any
      URLs, rather than replacing the existing set of URLs.
      
      The "new instance" case was previously handled automatically and now
      needs to be explictly handled by checking for it, to make sure that new
      instances give you a clean window rather than a state-restored window.
      
      BUG: 427274
      FIXED-IN: 20.12
      4937992e
  4. 25 Aug, 2020 1 commit
  5. 19 Jul, 2020 1 commit
  6. 26 Apr, 2020 1 commit
    • Nate Graham's avatar
      Add an option to show tabs from last time when Dolphin starts · caf2fe1c
      Nate Graham authored
      Summary:
      All modern web browsers offer a function to show tabs from last time when a browser starts, and many apps today
      restore their prior state when they're launched. This patch implements thatfunctionality as an option and turns it on by default.
      
      The settings window is accordingly adjusted to be clear about what applies when:
      
      {F7681752}
      
      FEATURE: 413564
      FIXED-IN: 20.08.0
      
      Depends on D25106
      Depends on D25219
      
      Test Plan:
      With the new setting turned off:
      - No behavioral changes at all
      
      With the new setting turned on:
      - When launched from the GUI or CLI without any URLs, dolphin restores session
      - When rebooting with Dolphin open, it restores session normally after the system comes back (i.e. no behavioral change here)
      - When launched with URLs, Dolphin window is opened showing those URLs instead of restoring session
      - When Dolphin is already running and a new window is opened, that new window shows a single tab with the same URL as was visible in the previously-open Dolphin instance (i.e. no behavioral change here)
      - "Open Containing folder" functionality in other apps works regardless of whether or not Dolphin is running
      
      Reviewers: #dolphin, #vdg, feverfew, meven, elvisangelaccio, ndavis
      
      Reviewed By: #dolphin, #vdg, feverfew, elvisangelaccio, ndavis
      
      Subscribers: davidedmundson, ndavis, intika, feverfew, kfm-devel, ngraham, broulik, #dolphin
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D11382
      caf2fe1c
  7. 16 Mar, 2020 1 commit
    • Elvis Angelaccio's avatar
      Exclude daemonized processes from Dolphin::attachToExistingInstance() · fa806d48
      Elvis Angelaccio authored
      Summary:
      `dolphin --daemon` does not have the `/dolphin/Dolphin_1` dbus path,
      because it doesn't have any DolphinMainWindow.
      
      Instead of working around this issue (as we did in D21666 and D25510),
      just exclude these processes from the list of dbus instances checked by
      `Dolphin::attachToExistingInstance()`.
      
      CCBUG: 408244
      
      Test Plan: Same test plan as in D21666 and D25510
      
      Reviewers: #dolphin
      
      Subscribers: kfm-devel
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D26213
      fa806d48
  8. 06 Dec, 2019 1 commit
  9. 13 Oct, 2019 1 commit
  10. 02 Sep, 2019 1 commit
    • Alexander Saoutkin's avatar
      Making sure that DBus objects are all created before the service · 56b3059f
      Alexander Saoutkin authored
      Summary:
      Currently the DBus service is created before the MainWindow DBus object is
      created. This can cause hangs if another service makes calls to a a method
      in an object that's not been initialised, when the service is already published.
      This patch defers the creation of the service until all DBus objects are
      created.
      
      Test Plan:
      Tested in KDevelop. Have "open new folders in tabs" feature enabled.
      Open several folders with Dolphin at once. Before this patch
      there would be noticeable hanging. With this patch all tabs instantly open with
      no hanging.
      
      Reviewers: elvisangelaccio, ngraham
      
      Reviewed By: elvisangelaccio
      
      Subscribers: kfm-devel
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D23672
      56b3059f
  11. 25 Aug, 2019 1 commit
  12. 22 Jun, 2019 1 commit
    • Alexander Saoutkin's avatar
      Open new instance of Dolphin if no URLs are given · d2506ffa
      Alexander Saoutkin authored
      Summary:
      BUG: 408387
      BUG: 408244
      FIXED-IN: 19.08.0
      
      Currently Dolphin only opens a new instance of itself in the following two scenarios:
      1. No other Dolphin instances ( D21666 deals with not matching daemonized instances) are currently running.
      2. A new instance is explicitly asked for via:  `dolphin --new-window`
      
      A third scenario is needed to fix this bug:
      3. If no URLs are passed in as arguments then open a new instance.
      
      This patch adds this third scenario.
      
      Test Plan:
      STEPS TO REPRODUCE
      1. Open Dolphin
      2. Right-click on Dolphin's Task Manager Entry and click "Start New Instance"
      3. A new instance is created.
      
      As my system stuff is not built on master I am unable to replicate the bug (and can't confirm whether this fixes it), hence I'll rely on @ngraham to confirm whether this patch fixes the issue.
      
      Reviewers: ngraham, elvisangelaccio
      
      Reviewed By: ngraham, elvisangelaccio
      
      Subscribers: elvisangelaccio, ngraham, kfm-devel
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D21691
      d2506ffa
  13. 30 May, 2019 1 commit
    • Alexander Saoutkin's avatar
      Open externally called files/directories in new tabs · 27e3907a
      Alexander Saoutkin authored
      Summary:
      FEATURE: 183429
      FIXED-IN: 19.08.0
      GUI: new cli argument --new-window
      
      Externally called files/directories are opened in a a new tab of an instance of Dolphin that already exists. If any of the given URIs are already open in a tab, then those tabs are activated instead of a new tab being opened.  If there is no instance then the files/directories are opened in a new window. The newly opened file/directory has its tab activated, and consequently, the window is also activated.
      
      When the user clicks "Open In New Window" or "Detach Tab", the files/directories are opened in a new window.
      
      Test Plan:
      [Manual]
      Before testing, set the default file manager in system settings as the newly built Dolphin executable.
      One must also include the new dolphin executable in the $PATH, otherwise some functions will attempt to open the system dolphin instead of the new one.
      
      Furthermore, running two different versions of Dolphin (in particular, where one does not have this patch included) can result in bugs appearing, in particular, new tabs not opening as old instances will not recognise the DBus commands sent to it. However, I see no reason why a user will have two different versions of Dolphin (apart from people like us :D).
      
      Open directories with the help of auxillary programs (i.e. a browser). The files/directories should appear in a new window if an instance does not exist. If an existence already exists, then a new tab should be opened and activated in that instance and the window activated.
      Use QDBusViewer to open folders/items by calling the ShowFolders/ShowItems methods in org.freedesktop.FileManager1 of the Dolphin instance.
      When a user chooses to "Open In New Window"/"Detach Tab" then the files/directories should be opened in a new window.
      
      Reviewers: #dolphin, elvisangelaccio
      
      Subscribers: zzag, dfaure, fvogt, fikrim, magar, fbg13, davidedmundson, kwin, ngraham, elvisangelaccio, anthonyfieroni, kfm-devel
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D16648
      27e3907a
  14. 04 Jan, 2019 1 commit
  15. 11 Nov, 2018 1 commit
  16. 04 Nov, 2018 1 commit
  17. 29 Jul, 2018 1 commit
  18. 19 Jun, 2018 1 commit
  19. 31 May, 2018 1 commit
    • Nate Graham's avatar
      Re-allow running Dolphin as the root user (but still not using sudo) · 40453cb6
      Nate Graham authored
      Summary:
      Prohibiting the use of Dolphin as the actual root user (not using `sudo` or `kdesu`) breaks legitimate use cases for using the root user. An example is Kali, a distro that logs in as the root user by default as a deliberate design choice.
      
      In such an environment, there is no additional security vulnerability beyond what you're already potentially exposing yourself to. So, let's re-enable it.
      
      BUG: 387974
      FIXED-IN: 18.08.0
      
      Test Plan:
      - Log in as normal user and run `sudo dolphin`: you get an error message.
      - Log in as normal user and run `kdesu dolphin`: you get an error message.
      - Log in as the root user and run dolphin normally: it works.
      
      Reviewers: markg, elvisangelaccio, #dolphin
      
      Reviewed By: markg
      
      Subscribers: chinmoyr, cfeck, elvisangelaccio, mmustac, Fuchs, markg, graesslin, nicolasfella, zzag, kfm-devel, emmanuelp
      
      Tags: #dolphin
      
      Differential Revision: https://phabricator.kde.org/D12795
      40453cb6
  20. 04 Mar, 2018 1 commit
  21. 03 Mar, 2018 1 commit
  22. 19 Feb, 2017 1 commit
  23. 22 Nov, 2016 1 commit
  24. 05 May, 2016 1 commit
  25. 16 Mar, 2016 1 commit
  26. 14 Jan, 2016 1 commit
  27. 29 Nov, 2015 1 commit
    • Albert Astals Cid's avatar
      Call KLocalizedString::setApplicationDomain("dolphin"); · d00b531c
      Albert Astals Cid authored
      dolphin is using
         -DTRANSLATION_DOMAIN=\"dolphin\"
      that is wrong for applications, apps need to use
         KLocalizedString::setApplicationDomain
      since that makes some other things like the transltators tab in the about
      dialog show.
      
      I have not removed -DTRANSLATION_DOMAIN=\"dolphin\" because on the other hand
      this code is also a library (i.e. the dolphin kpart).
      
      The "being pedandly correct" fix would be using -DTRANSLATION_DOMAIN=\"dolphin\"
      only to compile the files that are part of the kpart but that's prone to
      break at some point and using both KLocalizedString::setApplicationDomain and
      -DTRANSLATION_DOMAIN does not create any problem so i went that route
      
      CCMAIL: kfm-devel@kde.org
      d00b531c
  28. 14 Nov, 2015 1 commit
  29. 21 Oct, 2015 1 commit
  30. 29 Jul, 2015 1 commit
  31. 27 Apr, 2015 2 commits
  32. 22 Apr, 2015 1 commit
  33. 25 Mar, 2015 1 commit
  34. 25 Feb, 2015 1 commit
  35. 24 Feb, 2015 3 commits
  36. 19 Feb, 2015 1 commit
  37. 10 Feb, 2015 1 commit