Commit graph

148 commits

Author SHA1 Message Date
Ivailo Monev
c380602abf generic: adjust to KLocale changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-26 23:35:19 +03:00
Ivailo Monev
4c7fd8f7c7 dolphin: simplify group modification date formatting
also more consistent by using the common KGlobal::formatDateTime() way of
formatting such date and time

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 07:48:37 +03:00
Ivailo Monev
b80a0be5a8 generic: adjust to KDateTime changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-21 06:19:28 +03:00
Ivailo Monev
10dd9938c7 dolphin: correct warning message
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 20:37:07 +03:00
Ivailo Monev
d13c7f6ed1 dolphin: do not wrap changed files and commits text, do not re-set the text if it is the same either
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 11:41:26 +03:00
Ivailo Monev
29f216161e dolphin: implement commits for the git plugin commit dialog
because I like to reference past commits and this feature will make that
a breeze

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 11:11:44 +03:00
Ivailo Monev
3407383e13 dolphin: remove useless README file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 09:57:56 +03:00
Ivailo Monev
519a66a631 dolphin: VersionControlObserver::searchPlugin() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 09:51:02 +03:00
Ivailo Monev
7370500b8b dolphin: look for similarities in the diff
note: git_diff_find_options flags default to GIT_DIFF_FIND_BY_CONFIG

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 09:43:43 +03:00
Ivailo Monev
907cd347d0 dolphin: redo add and remove actions conditions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 09:15:39 +03:00
Ivailo Monev
79a2ea618d dolphin: prioritize staged over unstaged status in FileViewGitPlugin::itemVersion()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 09:13:43 +03:00
Ivailo Monev
f0a25101d2 libs: remove unused and redundant KVersionControlPlugin enums
icon-wise it shall be the same because there is no icon for unstaged added
files, changing the tint of modified files just to make it clearly
different from the added files

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 08:47:57 +03:00
Ivailo Monev
447b1fe699 dolphin: greedy search for the root directory of repositories
I don't like that drawback, can be optimized to stat() via KDE::stat() in
the future

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 08:02:40 +03:00
Ivailo Monev
e96b2b5ca6 dolphin: effectively revert b08ded0f52
need a getter for this to destinguish between index and working directory
changes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 07:48:28 +03:00
Ivailo Monev
e52432efae dolphin: do not re-set the diff document text if it is the same
so many little details to code..

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 05:09:02 +03:00
Ivailo Monev
e7262fc7ab dolphin: log git plugin actions conditions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 03:38:39 +03:00
Ivailo Monev
b08ded0f52 dolphin: conditional add and remove git plugin actions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 03:34:30 +03:00
Ivailo Monev
a88511defa dolphin: show relative paths in the staged files tab
because the diff references such, bonus points for optimizing the status

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 02:50:10 +03:00
Ivailo Monev
c5dd9b7e94 dolphin: move the cursor to the start of the diff document on setup
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 02:01:27 +03:00
Ivailo Monev
2ee80d816c dolphin: disable line numbers for the diff document view
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 01:48:07 +03:00
Ivailo Monev
65cf467943 dolphin: use KTextEditor with fallback to KTextEdit for the diff
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 01:25:21 +03:00
Ivailo Monev
0cf31060f9 dolphin: activate the commit dialog of git plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 00:41:31 +03:00
Ivailo Monev
86342f6bc6 dolphin: implement syntax highlighter for the git plugin diff
I am thinking there should be a KSyntaxCollection class or something

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-14 00:04:18 +03:00
Ivailo Monev
2ac2b7ff03 dolphin: do not append hunk and binary line origin character to the result from FileViewGitPlugin::gitDiffCallback()
headers, not indicators

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 23:58:01 +03:00
Ivailo Monev
6669f34b18 dolphin: show the git plugin commit dialog instead of exec()-ing it
theoretically what the dialog shows can go out of sync with this change
but the changes committed will be up-to-date due to the
`git_index_update_all` call once the dialog is finished

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 21:50:42 +03:00
Ivailo Monev
3276c7b1c7 dolphin: notify about the changes by emitting itemVersionsChanged() from git plugin
same effect except only dolphin gets to update (no other application uses
the version plugins even tho the class is in the konq library)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 21:15:41 +03:00
Ivailo Monev
ab159471d3 dolphin: show the difference in commit dialog from git plugin
I guess I can show both (see ec94a7cf06):
https://ibb.co/RzYGHk4

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-13 20:33:32 +03:00
Ivailo Monev
dc63db2fb2 dolphin: sync the global config from GitCommitDialog
yep, syncing KConfig is mandatory because it was written to be complex and
fail at simple things like this

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 20:22:08 +03:00
Ivailo Monev
fb83922086 dolphin: save and restore the git plugin commit dialog size
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 19:54:23 +03:00
Ivailo Monev
ec94a7cf06 dolphin: show the file(s) staged for commit in git plugin commit dialog
or should it show diff rather?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 19:47:13 +03:00
Ivailo Monev
c1f988483b dolphin: remove now redundant check in FileViewGitPlugin::getGitError()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 06:19:14 +03:00
Ivailo Monev
185d84fa90 dolphin: drop push and pull actions
libgit2 cannot even fetch from shallow copies.. well, the file status is
more than enough for dolphin - anything else belongs to a dedicated git
repository management tool anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 06:12:54 +03:00
Ivailo Monev
88b96ed9ae dolphin: experimental merge for git plugin
comes with the usual "WITHOUT ANY WARRANTY" (see the copyright)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 03:17:23 +03:00
Ivailo Monev
c25675fafc dolphin: use git_repository_head() to get the repository head
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 00:26:33 +03:00
Ivailo Monev
f2a35aba1f dolphin: return GIT_EUSER when dialog was not accepted
otherwise the error claims no callback was set

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-12 00:04:19 +03:00
Ivailo Monev
db61f4bf93 dolphin: partially implement pull action for git plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 23:23:23 +03:00
Ivailo Monev
49b17d2e46 dolphin: do not include ignored and untracked files in the status
if not added, changed or removed files are not to be committed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 23:22:58 +03:00
Ivailo Monev
c6e66748aa dolphin: link the git plugin to kio library
for the KDirNotify reference

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 21:04:38 +03:00
Ivailo Monev
75a6f61cf6 dolphin: notify about the changes after add, remove or commit from the git plugin
and because showing the commit action makes no sense when no changes
(add, remove, modify) are done to the repo every time the actions are
requested a check will be done, note that the check may be quite
expensive for large repositories and delay the context menu

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 20:54:05 +03:00
Ivailo Monev
dee2ff1503 dolphin: prettify the git plugin commit message
to match what `git commit` does

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 17:12:38 +03:00
Ivailo Monev
ad707fe53c dolphin: temporary disable the git plugin pull action
the code for the implementation is actually the same as in
FileViewGitPlugin::slotPush() except the git_remote_push() call (and
obviously the information messages stating that pull is being done)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 06:03:54 +03:00
Ivailo Monev
9304320d34 dolphin: update Messages.sh script for git plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 04:00:33 +03:00
Ivailo Monev
c68f32e086 dolphin: drop all plugins except git and rewrite it
one of the things that the previous implementation was lacking is the
credentials handling, also it was was very slow because it had to spawn
a process

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-11 03:54:05 +03:00
Ivailo Monev
c6114b45d9 generic: do not install kcfg files
see the following commit in kdelibs repo:
ee1aa40904077b7cae3c3575ffeaab176e42a85b

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-09 05:50:15 +03:00
Ivailo Monev
9ffdac5b9a dolphin: adjust to KDirNotify changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-06 18:31:03 +03:00
Ivailo Monev
268376e08b generic: adjust to solid changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 07:15:01 +03:00
Ivailo Monev
f9259663dd dolphin: remove expansion leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-05 00:21:45 +03:00
Ivailo Monev
0ccc580f03 dolphin: adjust to KDirLister changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 13:38:25 +03:00
Ivailo Monev
8040340e8b dolphin: remove now unused KItemListController setters and getters
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 12:35:48 +03:00
Ivailo Monev
9f05987cc0 dolphin: drop support for expansion (tree view)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-07-03 09:42:38 +03:00