Commit graph

257 commits

Author SHA1 Message Date
Eugene Popov fa8d9de4d8 Fix closing a secondary viewContainer on startup settings change
Apply split view settings only when changing the corresponding option.

BUG: 426221
FIXED-IN: 21.08.2
2021-09-28 19:39:52 +00:00
Nate Graham ea7d4f059d Revert "Don't session-restore invalid paths"
This reverts commit c733b3aa97.

There are people who prefer the old behavior of session-restoring all
paths including the ones which are currently inaccessible. The idea is
that Dolphin is like a web browser; if a website is not currently
available, the browser tells you that instead of silently discarding the
URL and showing you the homepage. Doing this can be considered a form
of data loss.

In addition, the reason for the change was to prevent Dolphin from
showing invalid paths on launch for unmounted removable disks, but that
specific case was fixed separately by switching to ~ for any tabs/views
that were showing locations on a just-unmounted removable disk. So you
will never run into the problem if yo unmount a disk in Dolphin and then
close it.

Accordingly, let's revert the change because it causes more problems than
it resolves.

BUG: 439864
CCBUG: 427619
FIXED-IN: 21.08
2021-07-28 12:59:29 -06:00
Alexander Lohnau 30299e00b1 Reuse KFileItemActions instance during lifetime of dolphin
With https://invent.kde.org/frameworks/kio/-/merge_requests/411 the
plugin instances can be reused during the lifetime of the
KFileItemActions object. This improves performance and also allows
the plugins to emit errors, even if they run async.
2021-07-04 20:33:48 +00:00
Elvis Angelaccio 7d6aaf4c07 Drop unused include
GIT_SILENT
2021-07-04 12:02:30 +02:00
Felix Ernst 98e1fb66d0 Fix primary view changing folder for the closing animation
This commit fixes a bug which made it so an UrlNavigator that was
disconnected from a viewContainer would still indirectly control
the viewContainer because of a dubious connection created in
DolphinMainWindow.

Instead the internal UrlNavigator of the viewContainer is used
which is always connected to its own viewContainer.

This way the the supposedly disconnected primary UrlNavigator will
actually not affect the old disconnected viewContainer that is
currently being closed.

BUG: 437080
FIXED-IN: 21.08
2021-05-17 14:52:45 +02:00
Felix Ernst 53a778c1eb Re-arrange the contents of the hamburger menu
To improve usability, the entries in the hamburger menu are
changed. Maybe the biggest fault of the previous menu contents were
that there were too many actions.

The new menu contents are composed of all the actions which are
necessary to use Dolphin and those which are very useful and should
be of interest for most users. Some menu contents change depending
on the state of the application. We can be more bold in only
showing what really seems necessary because this commit activates
the special sub-menu of KHamburgerMenu that helps users discover
all further features of Dolphin.

The hamburger menu is from now on also added to the context menus
in the view when both the menu bar and toolbar are hidden. This
allows users to hide both of them and still use all features of
Dolphin.
2021-05-13 16:49:27 +00:00
Nate Graham c836cf010c Set initial size corectly
The resize() that we do to set the initial size is working around a
bug in frameworks that is going to be fixed soon. See
https://invent.kde.org/frameworks/kxmlgui/-/merge_requests/53.
2021-05-05 03:50:44 +00:00
Felix Ernst a4be53fb99 Replace custom hamburger/control menu with KHamburgerMenu 2021-04-29 13:22:10 +00:00
Méven Car 6cec386192 InformationPanel: Allow to refresh the panel when its displayed content changes
BUG: 430095
BUG: 412902
FIXED-IN: 21.08
2021-04-24 09:00:31 +00:00
Laurent Montel e831efc3b2 Not necessary to forward class if we include file 2021-04-08 21:40:59 +02:00
Nicolas Fella f65b0899c3 Build with QT_NO_KEYWORDS 2021-02-09 20:39:50 +00:00
Anthony Fieroni a73e81bf6a Open new tab placement option
Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
2021-01-10 21:54:45 +00:00
Méven Car 60b9eaa4c1 Toolbar: move and rename filter to edit menu above Search
This is to expose more filter.
Also rename "Show Filter Bar" to simply "Filter", keep "Show Filter Bar" as tooltip

Adds a toggle filter bar action.
2020-12-02 07:07:41 +00:00
Felix Ernst 50ca5af7e0 Allow having the UrlNavigators below the tab bar
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-19 21:22:27 +00:00
Felix Ernst a418d6229e Fix a crash and extract unrelated changes
The secondary UrlNavigator is now created when and only when:
- split view mode is activated for the active tab
OR
- switching to a tab that has split view already enabled.
This fixes a crash that occurs when the setting to always start in
split view mode is enabled.

An animation for activating split view is also removed from this and
moved into a separate MR. Another unrelated name change left over from
a previous commit (viewContainers() -> activeViewContainers()) is
dropped.
2020-11-09 23:49:07 +01:00
Felix Ernst 37327c9b0a Make UrlNavigators in the toolbar the only option
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-09 23:49:07 +01:00
Felix Ernst b6fc58c3c3 Adress the first round of Angelaccio's review comments
- Split the viewContainers(bool includeInActive) into two methods
    without parameters
- Prevent users from accidently hiding all Url Navigators by
    preventing the dangerous action and then displaying a helpful
    message instead
Unrelated to review comments: Remove a useless line of code
2020-11-09 23:49:07 +01:00
Felix Ernst ad5d3367c7 Add an option to use an UrlNavigator in the toolbar instead
This commit adds a locationInToolbar KToggleAction to switch between
using a location bar to navigate or using a new custom QWidgetAction
in the toolbar.

A big portion of this MR is refactoring because until now the
UrlNavigator was tightly intertwined with the DolphinViewContainer.
With this MR an UrlNavigator for controlling a View can be freely
connected or disconnected with a single method call.

A DolphinUrlNavigator class is created in the process which contains all
Dolphin-specific UrlNavigator code which did previously reside in the
DolphinViewContainer class. Other application parts that belong to
UrlNavigator-management are also moved here.
2020-11-09 23:49:07 +01:00
Elvis Angelaccio 465e06138e Add support for KUserFeedback
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-11-05 18:31:28 +00:00
Nate Graham c733b3aa97 Don't session-restore invalid paths
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-23 17:00:09 +00:00
Nate Graham ae1d441dac Show home folder if needed after unmounting mounted disk
Right now, when you unmount a device that any active view containers are
displaying, nothing in the view changes. As a result, it's possible to
try to navigate to files or folders in that view, which cannot be done
because the disk that the files or folders are located on has been
unmounted!

With this commit, we detect that case and switch the view containers
to show the home folder after the disk whose contents they are displaying
gets unmounted.

BUG: 158934
FIXED-IN: 20.12
2020-10-23 17:00:09 +00:00
Ahmad Samir 9b83378c08 Check protocol Class before creating a StatJob
StatJob::mostLocalUrl only works with ":local" protocols, adjust the code
accordingly.

Make the code async.

Remove activeContainerLocalPath() method as it isn't needed anymore.

Drive-by change: minimum required version of Qt should be 5.12 because
that's what KF >= 5.73 already requires.
2020-09-20 21:29:23 +00:00
Elvis Angelaccio 954e8c4790 Output of licensedigger + manual cleanup afterwards.
Unfortunately licensedigger does not strip the trailing * characters.
While at it, use a common style for all source files.
2020-08-25 17:07:38 +00:00
Ahmad Samir 257eeebf4b Port KRun to OpenUrlJob
In DolphinMainWindow, since KRun allows running executables by default, use
setRunExecutables(true) so as not to change the behaviour.

Remove the now redundant slotHandleUrlStatFinished, that whole StatJob
logic is now handled by OpenUrlJob.

Bump KF required version to 5.73, since that's where
OpenUrlJob::setShowOpenOrExecuteDialog was introduced.
2020-08-18 08:43:58 +00:00
Laurent Montel 675699dfc0 Use camelcase includes (scripted) 2020-07-13 14:03:00 +02:00
Piotr Henryk Dabrowski 29e6cf01df use KSycoca for updating OpenPreferredSearchTool action
Summary:
Remove all random updates of OpenPreferredSearchTool action, and
use KSycoca for updating it as discussed in https://phabricator.kde.org/D22594#663847

Enhancement for D29441 for bug #420911 caused by D22594.
The bug was fixed by D29442.

CCBUG: 420911

Test Plan:
```
$ cd ${KDE_INSTALL_DIR}/usr/share/applications

$ sudo mv org.kde.kfind.desktop org.kde.kfind.desktop_
$ kbuildsycoca5

$ sudo mv org.kde.kfind.desktop_ org.kde.kfind.desktop
$ kbuildsycoca5
```

Reviewers: broulik, elvisangelaccio, ngraham, #dolphin

Reviewed By: elvisangelaccio, #dolphin

Subscribers: anthonyfieroni, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D29568
2020-05-24 08:26:25 -06:00
Nate Graham 69838a1cdd Add action for focusing Terminal Panel
Summary:
Add an action for focusing and de-focusing the Terminal Panel.

FEATURE: 185096
FIXED-IN 20.04.0

Test Plan:
- Hit {key Ctrl Shift F4} or click {nav Tools > Focus Terminal Panel} or {nav Control > Tools > Focus Terminal Panel}
- If the Terminal Panel was closed, it opens and gains focus
- If the Terminal Panel was open but unfocused, it gains focus
- If the Terminal Panel was open and focused, focus returns to the view

{F6630289, size=full}

Reviewers: #dolphin, elvisangelaccio, rominf

Reviewed By: #dolphin, elvisangelaccio, rominf

Subscribers: kfm-devel, elvisangelaccio, rkflx, ngraham, #dolphin

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D10959
2019-12-05 15:53:19 -07:00
Piotr Henryk Dabrowski 537dc7864a [Dolphin] Open Preferred Search Tool action
Summary:
Added "Open Preferred Search Tool" action to Tools menu.

It runs preferred (topmost) external search tool as configured in the "More Search Tools" menu.

By default Ctrl+Shift+F shortcut is assigned to this action.

FEATURE: 384798
FIXED-IN: 20.03.80

{F7134238}
{F7134240}
{F7134242}

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham

Subscribers: pkloc, kfm-devel, kde-doc-english

Tags: #dolphin, #documentation

Differential Revision: https://phabricator.kde.org/D22594
2019-11-17 18:15:26 +01:00
David Hallas eec49bc38f Add navigation history to forward/back buttons
Summary:
Adds navigation history to forward/back buttons in the toolbar. This
changes the forward/back buttons in the toolbar to use the
KToolBarPopupAction class which provides access to a drop down menu.

Test Plan:
Browse some folders
Click the back drop down menu and navigate somewhere
Click the forward drop down menu and navigate somewhere

FEATURE: 157819
FIXED-IN: 19.12.0

Reviewers: #dolphin, ngraham, elvisangelaccio, #vdg

Reviewed By: #dolphin, ngraham, elvisangelaccio, #vdg

Subscribers: felixernst, nerdopolist, mart, richardl, ognarb, david.fontanals, abetts, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19311
2019-09-29 14:16:11 +02:00
Nate Graham 7cad80b292 Add "Add to Places" action to file menu
Summary:
It's recommended that actions available in context menus be available in the main menu
as well for discoverability's sake. This patch does so for the "Add to Places" action.

The action is moved over to the main window, and accessed in the context menu via the
actionCollection it lives in.

BUG: 390757
FIXED-IN: 19.08.0

Test Plan:
- Action still works
- Action still appears in context menu when relevant
- Action in the File menu only becomes enabled when only a single directory is selected or nothing is selected

{F7143876}

{F7143877}

{F7143878}

{F7143879}

Reviewers: #dolphin, elvisangelaccio

Reviewed By: #dolphin, elvisangelaccio

Subscribers: elvisangelaccio, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D22149
2019-09-01 15:04:45 -06:00
Ismael Asensio 3a7586907e [dolphin] Add an action to toggle the searchbar
Summary:
Make search action toggle the searchbar instead of just launching it.

The search action in dolphin did only bring up the search bar, but to close it again you had to go to the closing button on the same searchbar.
This behavior in inconsistent with other dolphin actions which toggle panels or tools.

BEFORE:
{F7256652}

AFTER:
{F7256862}

BUG: 344617
FIXED-IN: 19.12.0
Closes T8473

Depends on D23075

Test Plan:
- Enable the search mode: the searchbar appears and the toolbar button gets checked
- Press the search button again, and it goes back to normal mode.
- The search button state is coherent with the searchbox
- Coherence is kept when changing to a split view or different tab
- Shorcut <Ctrl-F> does not close the searchbar, but moves the focus to it.

Reviewers: #dolphin, ngraham, #vdg, elvisangelaccio

Reviewed By: ngraham, #vdg

Subscribers: ndavis, felixernst, elvisangelaccio, kfm-devel

Tags: #dolphin

Maniphest Tasks: T8473

Differential Revision: https://phabricator.kde.org/D23232
2019-09-01 21:59:43 +02:00
Felix Ernst bd788a3ff4 Add "What's This?" to nearly everything in the main window
Summary:
This commit adds "What's This?" help to nearly everything in the
Dolphin main window (panels, views, buttons, ...). It adds the "?"
to the title bar so this help can easily be called.

For links in those help texts to work the WhatsThisClickedEvents are
handled in the main window class. This doesn't work for menus because
events from them aren't forwarded to the main window for some
reason so EventFilters are installed for the Control button menus.

Modifying the "Help" menu of KXmlGui is deprecated so no EventFilter
can be installed in the menubar. Therefore help texts without links
are provided for the menubar.

Test Plan:
Check if the event handling might make any problems.
Check for any big mistakes in the help messages.

Reviewers: #dolphin, elvisangelaccio

Subscribers: broulik, elvisangelaccio, yurchor, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D20471
2019-06-23 21:19:49 +02:00
Alexander Saoutkin 27e3907a3d Open externally called files/directories in new tabs
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-05-30 22:40:08 +02:00
David Hallas 2fac50f5f5 Add Bookmark Handling
Summary:
Add Bookmark Handling. Adds complete bookmark support as provided by
other KDE applications like Konsole and Konqueror. This allows you to
bookmark individual folders, create bookmark folders and open them.

Test Plan:
Go -> Bookmark -> Add Bookmark
Go -> Bookmark -> [Open the bookmark you selected]

FEATURE: 171366

Reviewers: #dolphin, elvisangelaccio, ngraham

Reviewed By: #dolphin, elvisangelaccio, ngraham

Subscribers: ognarb, meven, loh.tar, cfeck, hein, kfm-devel

Tags: #dolphin

Maniphest Tasks: T5408

Differential Revision: https://phabricator.kde.org/D19926
2019-05-13 16:37:15 +02:00
David Hallas e602e532c0 New tab placed after current tab when middle-clicking
Summary:
New tabs should be placed after the currently active tab when using
middle click.

Test Plan:
Open new tab from the places panel using middle click, verify that the
Open new tab from the folders panel using middle click, verify that the
tab is opened after the current tab
Open new tab by middle clicking on the Back button, verify that the tab
is opened after the current tab
Open new tab by middle clicking on the Forward button, verify that the tab
is opened after the current tab

FEATURE: 403690

Reviewers: #dolphin, ngraham, elvisangelaccio

Reviewed By: #dolphin, ngraham, elvisangelaccio

Subscribers: kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D19201
2019-03-09 12:11:58 +01:00
David Hallas 44a21ea51a Unify window and tab title
Summary:
Previously the title of tabs was a prettyfied version of the URL.
This is inconsistent with the title of the Window and in some cases
for specials URLs kind of misleading. This commit generalizes the
code from DolphinMainWindow so that both the DolphinMainWindow title
and the tab title uses the same function for the title. This also
means that the 'Show Full Path in Title Bar' also applies to the
tab title, and also that searches changes the tab title.

FEATURE: 387851

Test Plan: Open a new tab from the places panel and navigate around.

Reviewers: #dolphin, ngraham, elvisangelaccio, markg

Reviewed By: #dolphin, ngraham, markg

Subscribers: markg, kfm-devel

Tags: #dolphin

Differential Revision: https://phabricator.kde.org/D14442
2018-08-24 12:09:26 +02:00
Roman Inflianskas 6f05c66cc0 Add "Show Target" into symlink context menu and file menu
Summary:
Add "Show Target" into symlink context menu and file menu

FEATURE: 215069

Reviewers: ngraham, elvisangelaccio

Reviewed By: ngraham, elvisangelaccio

Subscribers: rkflx, ngraham, elvisangelaccio, markg, #dolphin

Differential Revision: https://phabricator.kde.org/D10990
2018-03-18 15:08:36 +03:00
Roman Inflianskas 48b58f830a Remove unused #include
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-04 21:00:47 +03:00
Elvis Angelaccio 87e8d0ba5f Build TerminalPanel also on Windows
Summary:
terminalpanel.cpp *should* compile on Windows, so there is no reason to
remove it from the build and use tons of #ifdefs in dolphinmainwindow.

We still keep the terminal panel disabled on Windows
(i.e. the two remaining #ifndef Q_OS_WIN in dolphinmainwindow),
because it is probably not functional.

But at least we won't break the Windows CI every time
someone touches the terminal panel code (see e.g. 2e942237c9).

Test Plan: Builds on Linux, someone on Windows should test this patch if possible.

Reviewers: #dolphin, #craft

Differential Revision: https://phabricator.kde.org/D10006
2018-02-10 19:40:15 +01:00
Elvis Angelaccio 56b132fff0 Drop dead code
Spotted by clazy (-Wclazy-const-signal-or-slot).

This was added in abf17941f7, but it became dead code after the KF5 port
(possibly after c725848709).
2018-02-03 23:34:45 +01:00
Adrián Chaves Fernández (Gallaecio) 4e40fe810d Set the focus to the active view, after leaving the terminal panel
Summary:
BUG: 298467

Set the focus to the active view, after leaving the terminal panel.

This is a fork of the patch at https://git.reviewboard.kde.org/r/116118/ by @emmanuelp which should fix the issue with the original patch reported by Frank Reininghaus.

Test Plan: Works for me.

Reviewers: #dolphin, emmanuelp, ngraham

Reviewed By: #dolphin, ngraham

Subscribers: ngraham, emmanuelp

Differential Revision: https://phabricator.kde.org/D9955
2018-01-18 18:51:27 +01:00
Kevin Funk 464b13f382 Modernize: Use override where possible
Also use override instead of Q_DECL_OVERRIDE
2017-11-20 23:25:48 +01:00
Elvis Angelaccio 7787f08067 Fix build on Windows
TerminalPanel is not available on Windows, so commit bd47eb2e6d broke
the MSVC build on the CI.
2017-10-14 12:36:26 +02:00
Miklos Marton bd47eb2e6d Don't block unmounting when terminal panel's cwd is the mountpoint
When unmounting a removable media Dolphin checks if there are
some files open on the device before performing the unmount.
If the terminal window in dolphin is open and the to be unmounted path is open,
 the unmount process will be blocked.

This patch sets the terminal window current path to the home directory upon unmount request
 if the terminal directory is set to the mount path.

The unmount request could came from two sources:

    The user could hit right click on the media in the dolphin's places panel and hit unmount.
    The user could request an unmount from the indicator applet

This patch was originally written by Arjun AK for the kdelibs4 version
of Dolphin: https://git.reviewboard.kde.org/r/121613/

BUG: 158264
FIXED-IN: 17.11.80

Differential Revision: https://phabricator.kde.org/D7847
2017-10-12 23:21:49 +02:00
Kai Uwe Broulik 1018848416 Support middle clicking of Back/Forward/Up/Home toolbar buttons
This opens the resulting page in a new tab.

BUG: 358649

Differential Revision: https://phabricator.kde.org/D7390
2017-08-24 15:45:28 +02:00
Sergey Kalinichev 042b0c8409 Revert "Make "show filter bar" a toggle action"
This reverts commit edf8e57373.

See https://git.reviewboard.kde.org/r/129662 for discussion
2017-03-12 11:48:12 +03:00
Don Nguyen edf8e57373
Make "show filter bar" a toggle action
REVIEW: 129662
2017-02-18 22:55:38 +01:00
arnav dhamija 0d4924d8bb Whitespace? 2017-02-13 22:20:59 +05:30
arnav dhamija 36bd947233 Added a comment 2017-02-02 21:48:58 +05:30
arnav dhamija 41156288b2 Added a comment 2017-02-02 21:48:51 +05:30