1 |
commit: ab36dc80a3fccb864709608b8f89b75299c18931 |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Feb 21 16:38:48 2022 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Feb 21 16:46:56 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab36dc80 |
7 |
|
8 |
app-office/ktimetracker: EAPI-8 bump, several upstream fixes |
9 |
|
10 |
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=417988 |
11 |
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=424993 |
12 |
|
13 |
Package-Manager: Portage-3.0.30, Repoman-3.0.3 |
14 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
15 |
|
16 |
...acker-5.0.1-fix-edit-history-dialog-crash.patch | 31 +++++++++++++ |
17 |
...-5.0.1-fix-formatTime-in-non-decimal-mode.patch | 33 ++++++++++++++ |
18 |
...tracker-5.0.1-fix-sorting-of-time-columns.patch | 38 ++++++++++++++++ |
19 |
...tracker-5.0.1-fix-table-column-visibility.patch | 34 ++++++++++++++ |
20 |
.../ktimetracker/ktimetracker-5.0.1-r1.ebuild | 52 ++++++++++++++++++++++ |
21 |
5 files changed, 188 insertions(+) |
22 |
|
23 |
diff --git a/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-edit-history-dialog-crash.patch b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-edit-history-dialog-crash.patch |
24 |
new file mode 100644 |
25 |
index 000000000000..a27b7b6ae4d7 |
26 |
--- /dev/null |
27 |
+++ b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-edit-history-dialog-crash.patch |
28 |
@@ -0,0 +1,31 @@ |
29 |
+From 065d7c154641f83c46e490cbb5d15b6cff92121b Mon Sep 17 00:00:00 2001 |
30 |
+From: Marc Orcau <budalokko@×××××.com> |
31 |
+Date: Tue, 27 Apr 2021 17:17:18 +0200 |
32 |
+Subject: [PATCH] Fix edit history dialog crash when event has non existent |
33 |
+ related entity |
34 |
+ |
35 |
+Replaced qFatal() by qCWarning(). Faulty event does not appear on the list then. |
36 |
+ |
37 |
+BUG: 424993 |
38 |
+--- |
39 |
+ src/dialogs/historydialog.cpp | 4 +++- |
40 |
+ 1 file changed, 3 insertions(+), 1 deletion(-) |
41 |
+ |
42 |
+diff --git a/src/dialogs/historydialog.cpp b/src/dialogs/historydialog.cpp |
43 |
+index ca2f10a..458c147 100644 |
44 |
+--- a/src/dialogs/historydialog.cpp |
45 |
++++ b/src/dialogs/historydialog.cpp |
46 |
+@@ -131,7 +131,9 @@ QString HistoryDialog::listAllEvents() |
47 |
+ |
48 |
+ const Task *parent = dynamic_cast<Task*>(m_projectModel->tasksModel()->taskByUID(event->relatedTo())); |
49 |
+ if (!parent) { |
50 |
+- qFatal("orphan event"); |
51 |
++ qCWarning(KTT_LOG) << "Unable to load 'relatedTo' entry for " << event->summary(); |
52 |
++ err = "NoRelatedToForEvent"; |
53 |
++ continue; |
54 |
+ } |
55 |
+ |
56 |
+ auto *item = new QTableWidgetItem(parent->name()); |
57 |
+-- |
58 |
+GitLab |
59 |
+ |
60 |
|
61 |
diff --git a/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-formatTime-in-non-decimal-mode.patch b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-formatTime-in-non-decimal-mode.patch |
62 |
new file mode 100644 |
63 |
index 000000000000..ad5be92794a3 |
64 |
--- /dev/null |
65 |
+++ b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-formatTime-in-non-decimal-mode.patch |
66 |
@@ -0,0 +1,33 @@ |
67 |
+From 310c0fee25f142c6f6a0e7a0b4445af2e8785c79 Mon Sep 17 00:00:00 2001 |
68 |
+From: Pino Toscano <pino@×××.org> |
69 |
+Date: Wed, 21 Oct 2020 10:49:20 +0200 |
70 |
+Subject: [PATCH] Fix formatTime() in non-decimal mode on 32bit archs |
71 |
+ |
72 |
+int64_t is not long int on 32bit architectures but long long int, thus |
73 |
+the "%ld" printf modifer gets truncated/wrong values. |
74 |
+ |
75 |
+As solution, do not use int64_t but long long int, so the "%lld" can be |
76 |
+always used. |
77 |
+--- |
78 |
+ src/ktimetrackerutility.cpp | 4 ++-- |
79 |
+ 1 file changed, 2 insertions(+), 2 deletions(-) |
80 |
+ |
81 |
+diff --git a/src/ktimetrackerutility.cpp b/src/ktimetrackerutility.cpp |
82 |
+index aca00e8..fe449ba 100644 |
83 |
+--- a/src/ktimetrackerutility.cpp |
84 |
++++ b/src/ktimetrackerutility.cpp |
85 |
+@@ -33,9 +33,9 @@ QString formatTime(double minutes, bool decimal) |
86 |
+ time.sprintf("%.2f", minutes / 60.0); |
87 |
+ time.replace('.', QLocale().decimalPoint()); |
88 |
+ } else { |
89 |
+- const auto absMinutes = static_cast<int64_t>(std::round(std::fabs(minutes))); |
90 |
++ const auto absMinutes = static_cast<long long int>(std::round(std::fabs(minutes))); |
91 |
+ time.sprintf( |
92 |
+- "%s%ld:%02ld", |
93 |
++ "%s%lld:%02lld", |
94 |
+ minutes < 0 ? QString(QLocale().negativeSign()).toUtf8().data() : "", |
95 |
+ absMinutes / 60, absMinutes % 60); |
96 |
+ } |
97 |
+-- |
98 |
+GitLab |
99 |
+ |
100 |
|
101 |
diff --git a/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-sorting-of-time-columns.patch b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-sorting-of-time-columns.patch |
102 |
new file mode 100644 |
103 |
index 000000000000..f30ed30eaf6c |
104 |
--- /dev/null |
105 |
+++ b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-sorting-of-time-columns.patch |
106 |
@@ -0,0 +1,38 @@ |
107 |
+From 7b17dccec643ffbf9e51a011d2aa1547169e9686 Mon Sep 17 00:00:00 2001 |
108 |
+From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@×××××××.cz> |
109 |
+Date: Sat, 8 May 2021 13:05:34 +0200 |
110 |
+Subject: [PATCH] fix sorting of time columns |
111 |
+ |
112 |
+Commit 910b2939a07ee241 changed QVariant types for sorting from qlonglong |
113 |
+to int64_t, but QSortFilterProxyModel::lessThan() docs explicitly list |
114 |
+types that are compared numerically, int64_t is not one of them, so it |
115 |
+gets sorted as a string. This meant that '0:02' was sorted before '0:17'. |
116 |
+--- |
117 |
+ src/model/task.cpp | 8 ++++---- |
118 |
+ 1 file changed, 4 insertions(+), 4 deletions(-) |
119 |
+ |
120 |
+diff --git a/src/model/task.cpp b/src/model/task.cpp |
121 |
+index 106e719..ff68b24 100644 |
122 |
+--- a/src/model/task.cpp |
123 |
++++ b/src/model/task.cpp |
124 |
+@@ -509,13 +509,13 @@ QVariant Task::data(int column, int role) const |
125 |
+ case 0: |
126 |
+ return m_name; |
127 |
+ case 1: |
128 |
+- return QVariant::fromValue<int64_t>(m_sessionTime); |
129 |
++ return QVariant::fromValue<qlonglong>(m_sessionTime); |
130 |
+ case 2: |
131 |
+- return QVariant::fromValue<int64_t>(m_time); |
132 |
++ return QVariant::fromValue<qlonglong>(m_time); |
133 |
+ case 3: |
134 |
+- return QVariant::fromValue<int64_t>(m_totalSessionTime); |
135 |
++ return QVariant::fromValue<qlonglong>(m_totalSessionTime); |
136 |
+ case 4: |
137 |
+- return QVariant::fromValue<int64_t>(m_totalTime); |
138 |
++ return QVariant::fromValue<qlonglong>(m_totalTime); |
139 |
+ case 5: |
140 |
+ return QVariant::fromValue<int>(m_priority); |
141 |
+ case 6: |
142 |
+-- |
143 |
+GitLab |
144 |
+ |
145 |
|
146 |
diff --git a/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-table-column-visibility.patch b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-table-column-visibility.patch |
147 |
new file mode 100644 |
148 |
index 000000000000..13edc84a6114 |
149 |
--- /dev/null |
150 |
+++ b/app-office/ktimetracker/files/ktimetracker-5.0.1-fix-table-column-visibility.patch |
151 |
@@ -0,0 +1,34 @@ |
152 |
+From ddc87a47089b900ee1c62be10b23d0d4bb2361f1 Mon Sep 17 00:00:00 2001 |
153 |
+From: Alexander Potashev <aspotashev@×××××.com> |
154 |
+Date: Mon, 24 Feb 2020 23:01:23 +0100 |
155 |
+Subject: [PATCH] TaskView: Change visibility of table columns after the view |
156 |
+ is connected to model |
157 |
+ |
158 |
+Otherwise setColumnHidden() has no effect. |
159 |
+ |
160 |
+BUG: 417988 |
161 |
+--- |
162 |
+ src/taskview.cpp | 2 +- |
163 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
164 |
+ |
165 |
+diff --git a/src/taskview.cpp b/src/taskview.cpp |
166 |
+index 3b9578f..c1b7580 100644 |
167 |
+--- a/src/taskview.cpp |
168 |
++++ b/src/taskview.cpp |
169 |
+@@ -164,12 +164,12 @@ void TaskView::load(const QUrl &url) |
170 |
+ m_tasksWidget->setRootIsDecorated(true); |
171 |
+ |
172 |
+ reconfigureModel(); |
173 |
+- m_tasksWidget->reconfigure(); |
174 |
+ |
175 |
+ // Connect to the new model created by TimeTrackerStorage::load() |
176 |
+ auto *tasksModel = m_storage->tasksModel(); |
177 |
+ m_filterProxyModel->setSourceModel(tasksModel); |
178 |
+ m_tasksWidget->setSourceModel(tasksModel); |
179 |
++ m_tasksWidget->reconfigure(); |
180 |
+ for (int i = 0; i <= tasksModel->columnCount(QModelIndex()); ++i) { |
181 |
+ m_tasksWidget->resizeColumnToContents(i); |
182 |
+ } |
183 |
+-- |
184 |
+GitLab |
185 |
+ |
186 |
|
187 |
diff --git a/app-office/ktimetracker/ktimetracker-5.0.1-r1.ebuild b/app-office/ktimetracker/ktimetracker-5.0.1-r1.ebuild |
188 |
new file mode 100644 |
189 |
index 000000000000..8174fe9a4bfa |
190 |
--- /dev/null |
191 |
+++ b/app-office/ktimetracker/ktimetracker-5.0.1-r1.ebuild |
192 |
@@ -0,0 +1,52 @@ |
193 |
+# Copyright 1999-2022 Gentoo Authors |
194 |
+# Distributed under the terms of the GNU General Public License v2 |
195 |
+ |
196 |
+EAPI=8 |
197 |
+ |
198 |
+ECM_HANDBOOK="forceoptional" |
199 |
+ECM_TEST="true" |
200 |
+KDE_ORG_CATEGORY="pim" |
201 |
+KFMIN=5.82.0 |
202 |
+QTMIN=5.15.2 |
203 |
+inherit ecm kde.org |
204 |
+ |
205 |
+DESCRIPTION="Todo management and time tracker" |
206 |
+HOMEPAGE="https://userbase.kde.org/KTimeTracker" |
207 |
+ |
208 |
+if [[ ${KDE_BUILD_TYPE} = release ]]; then |
209 |
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz" |
210 |
+ KEYWORDS="~amd64" |
211 |
+fi |
212 |
+ |
213 |
+LICENSE="GPL-2+ handbook? ( FDL-1.2 )" |
214 |
+SLOT="5" |
215 |
+IUSE="" |
216 |
+ |
217 |
+DEPEND=" |
218 |
+ >=dev-qt/qtdbus-${QTMIN}:5 |
219 |
+ >=dev-qt/qtgui-${QTMIN}:5 |
220 |
+ >=dev-qt/qtwidgets-${QTMIN}:5 |
221 |
+ >=dev-qt/qtxml-${QTMIN}:5 |
222 |
+ >=kde-frameworks/kcalendarcore-${KFMIN}:5 |
223 |
+ >=kde-frameworks/kconfig-${KFMIN}:5 |
224 |
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5 |
225 |
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5 |
226 |
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5 |
227 |
+ >=kde-frameworks/ki18n-${KFMIN}:5 |
228 |
+ >=kde-frameworks/kidletime-${KFMIN}:5 |
229 |
+ >=kde-frameworks/kio-${KFMIN}:5 |
230 |
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5 |
231 |
+ >=kde-frameworks/knotifications-${KFMIN}:5 |
232 |
+ >=kde-frameworks/ktextwidgets-${KFMIN}:5 |
233 |
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 |
234 |
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5 |
235 |
+ >=kde-frameworks/kxmlgui-${KFMIN}:5 |
236 |
+" |
237 |
+RDEPEND="${DEPEND}" |
238 |
+ |
239 |
+PATCHES=( |
240 |
+ "${FILESDIR}/${P}-fix-table-column-visibility.patch" # KDE-bug 417988 |
241 |
+ "${FILESDIR}/${P}-fix-formatTime-in-non-decimal-mode.patch" |
242 |
+ "${FILESDIR}/${P}-fix-edit-history-dialog-crash.patch" # KDE-bug 424993 |
243 |
+ "${FILESDIR}/${P}-fix-sorting-of-time-columns.patch" |
244 |
+) |