┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2021-03-28Port away from KInitNicolas Fella
KInit is planned to go away https://phabricator.kde.org/T14298
2020-11-19Allow having the UrlNavigators below the tab barFelix Ernst
This commit restores the possibility to have the UrlNavigators below the tab bar. This will happen automatically whenever the UrlNavigator is removed from the toolbar. It is also now again possible to have the toolbar on the side. This option is disabled while the toolbar contains the UrlNavigators. This commit makes no changes to the new default which is having the UrlNavigators in the toolbar but makes sure that upgrading users won't be affected.
2020-11-09Make UrlNavigators in the toolbar the only optionFelix Ernst
The UrlNavigators will be automatically added to the toolbar. The Sort By action is removed from the default toolbar to make space. Remove all options to have UrlNavigators outside the toolbar and remove those code paths. Make it so the new NavigatorsWidgetAction contains two UrlNavigators when in split view mode. Spacing was also added to align these UrlNavigators with the ViewContainers when enough space is available. Force the toolbar to be either at the top or bottom of the window. Set a sane sizeHint for DolphinUrlNavigator. It would be better to do this in KUrlNavigator in the future. This commit also contains a changes which should be moved to a separate merge requests before this gets merged: - Add an expansion animation when split view is enabled by the user
2020-11-05Add support for KUserFeedbackElvis Angelaccio
This commit introduces KUserFeedback in dolphin with some basic data sources and with a settings page to configure the telemetry values. There are also a couple custom data sources as proof of concept: a bunch of settings and the count of available network shares as listed by Solid. The settings page is shown only if the user feedback framework is enabled, but currently in Plasma we don't have a global kill switch to disable it. At the moment we never show an encouragement message. We need to connect to the `Provider::showEncouragementMessage()` signal, but first we should agree to a common way to show a non-annoying message to the users.
2020-10-29Disable session management for daemonNate Graham
We don't need to autostart the daemon if it was running at logout. BUG: 417219 FIXED-IN: 20.12
2020-10-23Don't session-restore invalid pathsNate Graham
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
2020-10-11When restoring former window state, append any URLs passed as argsNate Graham
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
2020-08-25Output of licensedigger + manual cleanup afterwards.Elvis Angelaccio
Unfortunately licensedigger does not strip the trailing * characters. While at it, use a common style for all source files.
2020-07-19Fix "Show folders, tabs, and window state from last time" featureAntonio Rojas
We were using the DBus interface before declaring it, oops. BUG: 422300 FIXED-IN: 20.08.0
2020-04-26Add an option to show tabs from last time when Dolphin startsNate Graham
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
2020-03-16Exclude daemonized processes from Dolphin::attachToExistingInstance()Elvis Angelaccio
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
2019-12-06Correct invalid homepage URLNate Graham
BUG: 414901 FIXED-IN: 19.12.1
2019-10-13properly enable hi-dpi supportChristoph Cullmann
2019-09-02Making sure that DBus objects are all created before the serviceAlexander Saoutkin
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
2019-08-25Fixing bug where split view opens with no URLsAlexander Saoutkin
Summary: BUG: 411193 FIXED-IN: 19.08.1 Test Plan: Reproduce steps as given in bug report. Observe the exected result. Used qdbusviewer and ShowFolders method to observe that no regressions occured in the "open new folders in tabs" feature. Reviewers: elvisangelaccio, ngraham Subscribers: kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D23445
2019-06-22Open new instance of Dolphin if no URLs are givenAlexander Saoutkin
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
2019-05-30Open externally called files/directories in new tabsAlexander Saoutkin
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
2019-01-04Use https over http for homepage urlFriedrich W. H. Kossebau
2018-11-11Update copyright year in KAboutDataElvis Angelaccio
GIT_SILENT
2018-11-04Update maintainership in KAboutDataElvis Angelaccio
As discussed on kfm-devel and agreed upon with Emmanuel.
2018-07-29Drop redundant setAttribute for WA_DeleteOnCloseElvis Angelaccio
Every KMainWindow (which DolphinMainWindow inherits) already has this attribute set.
2018-06-19Do not duplicate work of KAboutData::setupCommandLine()Laurent Montel
2018-05-31Re-allow running Dolphin as the root user (but still not using sudo)Nathaniel Graham
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
2018-03-04Remove unused #includeRoman Inflianskas
Summary: I used CLion inspection to hunt all unused #include Reviewers: #dolphin, elvisangelaccio, markg Reviewed By: #dolphin, elvisangelaccio, markg Subscribers: bcooksley, markg, elvisangelaccio, #dolphin Differential Revision: https://phabricator.kde.org/D10985
2018-03-03Remove unused #includeRoman Inflianskas
Summary: I used CLion inspection to hunt all unused #include Reviewers: #dolphin, elvisangelaccio, markg Reviewed By: #dolphin, elvisangelaccio, markg Subscribers: markg, elvisangelaccio, #dolphin Differential Revision: https://phabricator.kde.org/D10985
2017-02-19Disallow executing Dolphin as root on LinuxEmmanuel Pescosta
Basically a copy of commit kate/9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e which was written by Martin Grässlin.
2016-11-22Use the current window icon in QIcon::fromTheme()R.J.V. Bertin
This prevents removing the application icon when icon lookup fails, on Mac or MS Windows.
2016-05-05Change wording of Directory to Folder.Frederik Schwarzer
2016-03-16[CLAZY] Fixed all level 1 and level 2 warnings with small exceptionsArtur Puzio
REVIEW: 126771
2016-01-14Update copyright yearFrank Reininghaus
2015-11-29Call KLocalizedString::setApplicationDomain("dolphin");Albert Astals Cid
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: [email protected]
2015-11-14Enable KCrash crash handler.Andreas Cord-Landwehr
2015-10-21Allow home directories with non-local file paths.Emmanuel Pescosta
Paths like file:/home/me work now instead of showing an error message. BUG: 352743 BUG: 353550 FIXED-IN: 15.08.3 REVIEW: 125586
2015-07-29Enable automatic update of version numberRagnar Thomsen
Use CMake variables autoupdated by release script. Dolphin version is automatically updated to KDE Applications version.
2015-04-27Reorder code in main.cpp ("cluster definitions and setters")Emmanuel Pescosta
2015-04-27Simplify startup split view handlingEmmanuel Pescosta
* Instead of setting and resetting GeneralSettings's split view option, just pass it on to openFiles/openDirectories. * Require at least one url in openFiles/openDirectories REVIEW: 123395
2015-04-22Add dbus interface to dolphinAshish Bansal
Implemented org.freedesktop.FileManager1 dbus interface in dolphin http://www.freedesktop.org/wiki/Specifications/file-manager-interface/ REVIEW: 123313 BUG: 343016
2015-03-25Enable high DPI pixmaps in DolphinDavid Edmundson
2015-02-25Bump the Qt version to 5.4 and the KF5 version to 5.7Emmanuel Pescosta
Added all required components Reviewed-By: David Edmundson
2015-02-24Fix build on Jenkins (or with BUILD_TESTING=ON)Hrvoje Senjan
2015-02-24Fix the build temporarilyLuca Beltrame
The port of Dolphin to categorized logging created errors in one specific point only, in main.cpp: undefined reference to `DolphinDebug()' I couldn't spot any obvious error, so for now I did it the bad way (warnings should not be commented out!) to keep it building while a real solution is found. CCMAIL: [email protected]
2015-02-24Replace kDebug/kWarning by categorized logging (org.kde.dolphin)Emmanuel Pescosta
2015-02-10Assume links passed via cmdline args are local filesArjun AK
If not, when the user types 'dolphin nonexistantfile' he will be taken to 'http://nonexistantfile' BUG: 343906
2015-02-09Construct URLs passed via cmdline args using QUrl::fromUserInput()Arjun AK
Otherwise user will have to type "dolphin file:///tmp" instead of "dolphin /tmp" REVIEW: 122475 BUG: 343906
2015-02-06Migrate settingsMontel Laurent
2015-02-04Add dolphin dbus serviceEmmanuel Pescosta
2015-02-04Port Dolphin away from KApplication, KCmdLineArgs and K4AboutDataMathieu Tarral
2014-11-20Fix Exports.Andrius da Costa Ribas
REVIEW: 121078
2014-10-18Fix includesMontel Laurent
2014-10-16Merge remote-tracking branch 'origin/master' into frameworksFrank Reininghaus
Conflicts: dolphin/src/main.cpp kdepasswd/kcm/kcm_useraccount.desktop plasma/applets/folderview/folderview.cpp