From bugzilla_noreply at kde.org Sat Apr 1 05:41:58 2023
From: bugzilla_noreply at kde.org (Taha Zerrouki)
Date: Sat, 01 Apr 2023 04:41:58 +0000
Subject: [docs.kde.org] [Bug 468022] New: Not found page
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468022
Bug ID: 468022
Summary: Not found page
Classification: Websites
Product: docs.kde.org
Version: unspecified
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Missing Content
Assignee: kde-doc-english at kde.org
Reporter: taha_zerrouki at hotmail.com
Target Milestone: ---
SUMMARY
***
I tried to visit https://edu.kde.org/kturtle/translator.php, it's not found
STEPS TO REPRODUCE
1. from navigator
.
OBSERVED RESULT
not found
EXPECTED RESULT
the page
SOFTWARE/OS VERSIONS
Linux/KDE Plasma: firefox
ADDITIONAL INFORMATION
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Sat Apr 1 11:16:54 2023
From: bugzilla_noreply at kde.org (Luigi Toscano)
Date: Sat, 01 Apr 2023 10:16:54 +0000
Subject: [www.kde.org] [Bug 468022] Not found page
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468022
Luigi Toscano changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|kde-doc-english at kde.org |kde-www at kde.org
CC| |luigi.toscano at tiscali.it
Component|Missing Content |general
Product|docs.kde.org |www.kde.org
--- Comment #1 from Luigi Toscano ---
Unfortunately we don't have a specific entry in bugzilla for that site, so I
moved the bug to the generic "www.kde.org" product.
I guess you found the link in the documentation
(https://docs.kde.org/trunk5/en/kturtle/kturtle/translators.html ) ?
That website was unfortunately retired:
https://mail.kde.org/pipermail/kde-community/2023q1/007536.html and that
content was lost.
You can take a look at a snapshot on archive.org:
https://web.archive.org/web/20210322125130/https://edu.kde.org/kturtle/translator.php
and the content (rewritten maybe) should be probably saved here:
https://techbase.kde.org/Projects/Edu/KTurtle/Translators or somewhere else
(like developer.kde.org). Not sure.
--
You are receiving this mail because:
You are the assignee for the bug.
From null at kde.org Sat Apr 1 17:31:39 2023
From: null at kde.org (Alexander Reinholdt)
Date: Sat, 1 Apr 2023 16:31:39 +0000 (UTC)
Subject: =?utf-8?q?=5Bnetwork/smb4k=5D_doc=3A_Fix_unknown_entities=2E?=
Message-ID: <20230401163139.092A91240435@leptone.kde.org>
Git commit bc79a0acd257b321dc4f4ef244c5ec37e6298094 by Alexander Reinholdt.
Committed on 01/04/2023 at 16:31.
Pushed by areinholdt into branch 'master'.
Fix unknown entities.
M +2 -2 doc/index.docbook
https://invent.kde.org/network/smb4k/commit/bc79a0acd257b321dc4f4ef244c5ec37e6298094
diff --git a/doc/index.docbook b/doc/index.docbook
index a094e5f8..091697a3 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -1506,7 +1506,7 @@ ntlm auth = yes
Other Desktop Environments Than &plasma;
- When using a different desktop environment than &plasma;, &Qt; and &kf5; applications might be missing some icons. In that case, you might want to install the application qt5ct (the source code can be obtained here). To use qt5ct with your desktop environment, add the following line to your ~/.xinitrc or ~/.profile file:
+ When using a different desktop environment than &plasma;, &Qt; and &kde-frameworks; applications might be missing some icons. In that case, you might want to install the application qt5ct (the source code can be obtained here). To use qt5ct with your desktop environment, add the following line to your ~/.xinitrc or ~/.profile file:export QT_QPA_PLATFORMTHEME=qt5ct
@@ -4768,7 +4768,7 @@ ntlm auth = yes
Follow these directions for your bug report:Describe in detail what you did to receive the problem you are reporting.
- Provide the version of &smb4k; and &kf5;.
+ Provide the version of &smb4k; and &kde-frameworks;.Mention your operating system (&Linux;, FreeBSD, &etc;) and the distribution that is running on your computer.Include the full error message if an error dialog was displayed.If you experienced a crash, attach a full backtrace. For this it is recommended that you (re-)compile &smb4k; with debugging symbols. How this is done is mentioned in the README.md file shipped in the sources.
From null at kde.org Sun Apr 2 14:43:40 2023
From: null at kde.org (Volker Krause)
Date: Sun, 2 Apr 2023 13:43:40 +0000 (UTC)
Subject: =?utf-8?q?=5Bpim/akonadi-calendar-tools=5D_/=3A_Remove_the_HTML_export_feature?=
Message-ID: <20230402134340.021231240433@leptone.kde.org>
Git commit 8e6581b25c26c1e0f451f9b40824579d2db99ce3 by Volker Krause.
Committed on 02/04/2023 at 13:23.
Pushed by carlschwan into branch 'master'.
Remove the HTML export feature
This produces HTML files straight out of the 90s, in quick tests also with
crucial data missing (such as the times).
This is also the only user of the HTML export code in KCalUtils, which
is the only user of dubious relations API in KCalendarCore::Calendar. So
removing this here also enables more substantial cleanup up the stack.
M +0 -1 .kde-ci.yml
M +0 -2 CMakeLists.txt
M +0 -1 calendarjanitor/CMakeLists.txt
M +0 -26 doc/konsolekalendar/index.docbook
M +1 -1 konsolekalendar/CMakeLists.txt
M +0 -5 konsolekalendar/examples/testkalendar.sh
M +36 -119 konsolekalendar/konsolekalendar.cpp
M +0 -4 konsolekalendar/konsolekalendarvariables.h
M +1 -10 konsolekalendar/main.cpp
https://invent.kde.org/pim/akonadi-calendar-tools/commit/8e6581b25c26c1e0f451f9b40824579d2db99ce3
diff --git a/.kde-ci.yml b/.kde-ci.yml
index 75b1073..173255a 100644
--- a/.kde-ci.yml
+++ b/.kde-ci.yml
@@ -9,5 +9,4 @@ Dependencies:
'pim/akonadi' : '@same'
'pim/akonadi-calendar' : '@same'
'pim/calendarsupport' : '@same'
- 'pim/kcalutils' : '@same'
'pim/libkdepim' : '@same'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 04a5ee3..78317a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,7 +51,6 @@ set(AKONADICALENDAR_LIB_VERSION "5.23.40")
set(AKONADI_VERSION "5.23.40")
set(CALENDARSUPPORT_LIB_VERSION "5.23.40")
set(KCALENDARCORE_LIB_VERSION "5.23.40")
-set(CALENDARUTILS_LIB_VERSION "5.23.40")
set(KDEPIM_LIB_VERSION "${PIM_VERSION}")
set(KDEPIM_LIB_SOVERSION "5")
@@ -69,7 +68,6 @@ find_package(KF${KF_MAJOR_VERSION}I18n ${KF_MIN_VERSION} REQUIRED)
# Find KdepimLibs Package
find_package(KPim${KF_MAJOR_VERSION}Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
find_package(KF${KF_MAJOR_VERSION}CalendarCore ${KCALENDARCORE_LIB_VERSION} CONFIG REQUIRED)
-find_package(KPim${KF_MAJOR_VERSION}CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED)
find_package(KPim${KF_MAJOR_VERSION}AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED)
find_package(KPim${KF_MAJOR_VERSION}CalendarSupport ${CALENDARSUPPORT_LIB_VERSION} CONFIG REQUIRED)
diff --git a/calendarjanitor/CMakeLists.txt b/calendarjanitor/CMakeLists.txt
index 3b99cd5..f1df88e 100644
--- a/calendarjanitor/CMakeLists.txt
+++ b/calendarjanitor/CMakeLists.txt
@@ -16,7 +16,6 @@ target_sources(calendarjanitor PRIVATE
)
target_link_libraries(calendarjanitor
- KPim${KF_MAJOR_VERSION}::CalendarUtils
KF${KF_MAJOR_VERSION}::CalendarCore
KPim${KF_MAJOR_VERSION}::AkonadiCalendar)
diff --git a/doc/konsolekalendar/index.docbook b/doc/konsolekalendar/index.docbook
index 141e83c..d583d77 100644
--- a/doc/konsolekalendar/index.docbook
+++ b/doc/konsolekalendar/index.docbook
@@ -454,32 +454,6 @@ room with the entire staff.","&konsolekalendar;-1924621834.134"
-
-&HTML; Format
-
-The &HTML; export format will produce a valid
-&HTML; file that can be published to the WWW.
-This export format is not suitable for follow-on script parsing, but is
-very nice for publishing calendars for easy public viewing.
-
-
-
-
-HTMLmonth Format
-
-This format produces an &HTML; file showing
-all appointments in the months specified by the date range.
-This export format is not suitable for follow-on script parsing, but is
-very nice for publishing calendars for easy public viewing.
-
-
-
diff --git a/konsolekalendar/CMakeLists.txt b/konsolekalendar/CMakeLists.txt
index d2b5812..fd9a899 100644
--- a/konsolekalendar/CMakeLists.txt
+++ b/konsolekalendar/CMakeLists.txt
@@ -35,8 +35,8 @@ ecm_qt_declare_logging_category(konsolekalendar
target_link_libraries(konsolekalendar
Qt::DBus
- KPim${KF_MAJOR_VERSION}::CalendarUtils
KF${KF_MAJOR_VERSION}::CalendarCore
+ KF${KF_MAJOR_VERSION}::ConfigGui
KPim${KF_MAJOR_VERSION}::CalendarSupport
KPim${KF_MAJOR_VERSION}::AkonadiCalendar
KF${KF_MAJOR_VERSION}::I18n
diff --git a/konsolekalendar/examples/testkalendar.sh b/konsolekalendar/examples/testkalendar.sh
index e7befe1..869653d 100644
--- a/konsolekalendar/examples/testkalendar.sh
+++ b/konsolekalendar/examples/testkalendar.sh
@@ -37,11 +37,6 @@ echo "################################ TEXT ##################################"
COMMAND="$KONSOLEKALENDAR --view --time $HOUR:$MINUTE --date $YEAR-$MONTH-$DATE --export-type Text --file=$2"
$COMMAND
-echo "################################ HTML ##################################"
-COMMAND="$KONSOLEKALENDAR --view --time $HOUR:$MINUTE --date $YEAR-$MONTH-$DATE --export-type HTML --file=$2"
-$COMMAND
-
-
echo "################################ CSV ##################################"
COMMAND="$KONSOLEKALENDAR --view --time $HOUR:$MINUTE --date $YEAR-$MONTH-$DATE --export-type CSV --file=$2"
$COMMAND
diff --git a/konsolekalendar/konsolekalendar.cpp b/konsolekalendar/konsolekalendar.cpp
index e02c0a5..b3f57bf 100644
--- a/konsolekalendar/konsolekalendar.cpp
+++ b/konsolekalendar/konsolekalendar.cpp
@@ -29,8 +29,6 @@
#include
#include
#include
-#include
-#include
#include
#include
@@ -197,123 +195,46 @@ bool KonsoleKalendar::showInstance()
QTextStream ts(&f);
- if (m_variables->getExportType() != ExportTypeHTML && m_variables->getExportType() != ExportTypeMonthHTML) {
- if (m_variables->getAll()) {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "view all events sorted list";
-
- const Event::List sortedList = calendar->events(EventSortStartDate);
- qCDebug(KONSOLEKALENDAR_LOG) << "Found" << sortedList.count() << "events";
- if (!sortedList.isEmpty()) {
- // The code that was here before the akonadi port was really slow with 200 events
- // this is much faster:
- for (const KCalendarCore::Event::Ptr &event : sortedList) {
- status &= printEvent(&ts, event, event->dtStart().date());
- }
- }
- } else if (m_variables->isUID()) {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "view events by uid list";
- // TODO: support a list of UIDs
- event = calendar->event(m_variables->getUID());
- // If this UID represents a recurring Event,
- // only the first day of the Event will be printed
- status = printEvent(&ts, event, event->dtStart().date());
- } else if (m_variables->isNext()) {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "Show next activity in calendar";
-
- QDateTime datetime = m_variables->getStartDateTime();
- datetime = datetime.addDays(720);
-
- QDate dt;
- for (dt = m_variables->getStartDateTime().date(); dt <= datetime.date(); dt = dt.addDays(1)) {
- Event::List events = calendar->events(dt, timeZone, EventSortStartDate, SortDirectionAscending);
- qCDebug(KONSOLEKALENDAR_LOG) << "2-Found" << events.count() << "events on date" << dt;
- // finished here when we get the next event
- if (!events.isEmpty()) {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "Got the next event";
- printEvent(&ts, events.first(), dt);
- return true;
- }
- }
- } else {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "view raw events within date range list";
-
- QDate dt;
- for (dt = m_variables->getStartDateTime().date(); dt <= m_variables->getEndDateTime().date() && status != false; dt = dt.addDays(1)) {
- Event::List events = calendar->events(dt, timeZone, EventSortStartDate, SortDirectionAscending);
- qCDebug(KONSOLEKALENDAR_LOG) << "3-Found" << events.count() << "events on date: " << dt;
- status = printEventList(&ts, &events, dt);
+ if (m_variables->getAll()) {
+ qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
+ << "view all events sorted list";
+
+ const Event::List sortedList = calendar->events(EventSortStartDate);
+ qCDebug(KONSOLEKALENDAR_LOG) << "Found" << sortedList.count() << "events";
+ if (!sortedList.isEmpty()) {
+ // The code that was here before the akonadi port was really slow with 200 events
+ // this is much faster:
+ for (const KCalendarCore::Event::Ptr &event : sortedList) {
+ status &= printEvent(&ts, event, event->dtStart().date());
}
}
- } else {
- QDate firstdate;
- QDate lastdate;
- if (m_variables->getAll()) {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "HTML view all events sorted list";
- // sort the events for this date by start date
- // in order to determine the date range.
- auto events = new Event::List(calendar->rawEvents(EventSortStartDate, SortDirectionAscending));
- firstdate = events->first()->dtStart().date();
- lastdate = events->last()->dtStart().date();
- } else if (m_variables->isUID()) {
- // TODO
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "HTML view events by uid list";
- cout << i18n("Sorry, export to HTML by UID is not supported yet").toLocal8Bit().data() << endl;
- return false;
- } else {
- qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
- << "HTML view raw events within date range list";
- firstdate = m_variables->getStartDateTime().date();
- lastdate = m_variables->getEndDateTime().date();
- }
-
- KCalUtils::HTMLExportSettings htmlSettings(QStringLiteral("Konsolekalendar"));
-
- // TODO: get progname and url from the values set in main
- htmlSettings.setCreditName(QStringLiteral("KonsoleKalendar"));
- htmlSettings.setCreditURL(QStringLiteral("https://userbase.kde.org/KonsoleKalendar"));
-
- htmlSettings.setExcludePrivate(true);
- htmlSettings.setExcludeConfidential(true);
-
- htmlSettings.setEventView(false);
- htmlSettings.setMonthView(false);
- if (m_variables->getExportType() == ExportTypeMonthHTML) {
- title = i18n("Events:");
- htmlSettings.setMonthView(true);
- } else {
- if (firstdate == lastdate) {
- title = i18n("Events: %1", firstdate.toString(Qt::TextDate));
- } else {
- title = i18n("Events: %1 - %2", firstdate.toString(Qt::TextDate), lastdate.toString(Qt::TextDate));
+ } else if (m_variables->isUID()) {
+ qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
+ << "view events by uid list";
+ // TODO: support a list of UIDs
+ event = calendar->event(m_variables->getUID());
+ // If this UID represents a recurring Event,
+ // only the first day of the Event will be printed
+ status = printEvent(&ts, event, event->dtStart().date());
+ } else if (m_variables->isNext()) {
+ qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
+ << "Show next activity in calendar";
+
+ QDateTime datetime = m_variables->getStartDateTime();
+ datetime = datetime.addDays(720);
+
+ QDate dt;
+ for (dt = m_variables->getStartDateTime().date(); dt <= datetime.date(); dt = dt.addDays(1)) {
+ Event::List events = calendar->events(dt, timeZone, EventSortStartDate, SortDirectionAscending);
+ qCDebug(KONSOLEKALENDAR_LOG) << "2-Found" << events.count() << "events on date" << dt;
+ // finished here when we get the next event
+ if (!events.isEmpty()) {
+ qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::showInstance() |"
+ << "Got the next event";
+ printEvent(&ts, events.first(), dt);
+ return true;
}
- htmlSettings.setEventView(true);
}
- htmlSettings.setEventTitle(title);
- htmlSettings.setEventAttendees(true);
- // Not supporting Todos yet
- // title = "To-Do List for " + firstdate.toString(Qt::TextDate);
- // if ( firstdate != lastdate ) {
- // title += " - " + lastdate.toString(Qt::TextDate);
- // }
- htmlSettings.setTodoListTitle(title);
- htmlSettings.setTodoView(false);
- // htmlSettings.setTaskCategories( false );
- // htmlSettings.setTaskAttendees( false );
- // htmlSettings.setTaskDueDate( true );
-
- htmlSettings.setDateStart(QDateTime(firstdate.startOfDay()));
- htmlSettings.setDateEnd(QDateTime(lastdate.startOfDay()));
-
- auto exp = new KCalUtils::HtmlExport(calendar.data(), &htmlSettings);
- status = exp->save(&ts);
- delete exp;
}
f.close();
}
@@ -364,10 +285,6 @@ bool KonsoleKalendar::printEvent(QTextStream *ts, const Event::Ptr &event, QDate
status = exports.exportAsTxtShort(ts, event, dt, sameDay);
} break;
- case ExportTypeHTML:
- // this is handled separately for now
- break;
-
default: // Default export-type is ExportTypeText
qCDebug(KONSOLEKALENDAR_LOG) << "konsolekalendar.cpp::printEvent() |"
<< "TEXT export";
diff --git a/konsolekalendar/konsolekalendarvariables.h b/konsolekalendar/konsolekalendarvariables.h
index eef10f3..50834e8 100644
--- a/konsolekalendar/konsolekalendarvariables.h
+++ b/konsolekalendar/konsolekalendarvariables.h
@@ -33,10 +33,6 @@ enum ExportType {
ExportTypeText,
/** Export as compact text */
ExportTypeTextShort,
- /** Export HTML for the specified time span */
- ExportTypeHTML,
- /** Export HTML for the time span on month boundaries */
- ExportTypeMonthHTML,
/** Export XHTML (NOT AVAILABLE YET) */
ExportTypeXHTML,
/** Export XML (NOT AVAILABLE YET) */
diff --git a/konsolekalendar/main.cpp b/konsolekalendar/main.cpp
index ad76f1e..8cfaa13 100644
--- a/konsolekalendar/main.cpp
+++ b/konsolekalendar/main.cpp
@@ -164,9 +164,6 @@ int main(int argc, char *argv[])
cout << i18n("%1 supports these export formats:", QString::fromLatin1(progDisplay)).toLocal8Bit().data() << endl;
cout << i18nc("the default export format", " %1 [Default]", QStringLiteral("Text")).toLocal8Bit().data() << endl;
cout << i18nc("short text export", " %1 (like %2, but more compact)", QStringLiteral("Short"), QStringLiteral("Text")).toLocal8Bit().data() << endl;
- cout << i18nc("HTML export", " %1", QStringLiteral("HTML")).toLocal8Bit().data() << endl;
- cout << i18nc("HTMLmonth export", " %1 (like %2, but in a month view)", QStringLiteral("HTMLmonth"), QStringLiteral("HTML")).toLocal8Bit().data()
- << endl;
cout << i18nc("comma-separated values export", " %1 (Comma-Separated Values)", QStringLiteral("CSV")).toLocal8Bit().data() << endl;
cout << endl;
return 0;
@@ -204,13 +201,7 @@ int main(int argc, char *argv[])
if (parser.isSet(QStringLiteral("export-type"))) {
option = parser.value(QStringLiteral("export-type"));
- if (option.toUpper() == QLatin1String("HTML")) {
- qCDebug(KONSOLEKALENDAR_LOG) << "main | export-type | Export to HTML";
- variables.setExportType(ExportTypeHTML);
- } else if (option.toUpper() == QLatin1String("HTMLMONTH")) {
- qCDebug(KONSOLEKALENDAR_LOG) << "main | export-type | Export to HTML by Month";
- variables.setExportType(ExportTypeMonthHTML);
- } else if (option.toUpper() == QLatin1String("CSV")) {
+ if (option.toUpper() == QLatin1String("CSV")) {
qCDebug(KONSOLEKALENDAR_LOG) << "main | export-type | Export to CSV";
variables.setExportType(ExportTypeCSV);
} else if (option.toUpper() == QLatin1String("TEXT")) {
From null at kde.org Tue Apr 4 20:01:41 2023
From: null at kde.org (Nicolas Fella)
Date: Tue, 4 Apr 2023 19:01:41 +0000 (UTC)
Subject: =?utf-8?q?=5Bplasma/powerdevil=5D_/=3A_Drop_most_per-activity_power_settings?=
Message-ID: <20230404190141.D2BA91240433@leptone.kde.org>
Git commit 121df4cd76464aa987006e42a29672b412e15435 by Nicolas Fella.
Committed on 04/04/2023 at 18:59.
Pushed by nicolasfella into branch 'master'.
Drop most per-activity power settings
Currently there's four different modes for per-activity power settings
1) No special settings
2) "Act like" something else, where something else can be Battery, AC, or another activity. The UI
for this mode has been broken due to a bug for seven years (https://invent.kde.org/plasma/powerdevil/-/commit/1cf565eeb3ddc98a2df0066b4e5258aaf1e25008)
Apparently nobody noticed or missed it
3) Define a special behavior, like inhibiting screen power management or suspend. Usually this shouldn't
be needed, because applications where either of them is relevant should request inhibiting those themselves.
Alternatively it is possible to manually inhibit power management from the applet. I can see how this is potentially
useful though
4) Completely custom per-activity settings. This is basically the regular settings, applied to a specific activity only.
This makes the UI very complex, and appears very niche without apparent tangible use cases
This change removes 4) due to the ratio of code and UI complexity to usefulness
2) is removed too, given it has been broken long enough
Fixes https://invent.kde.org/plasma/plasma-desktop/-/issues/60
M +18 -45 daemon/powerdevilcore.cpp
M +0 -8 doc/kcm/index.docbook
M +1 -63 kcmodule/activities/activityWidget.ui
M +5 -71 kcmodule/activities/activitywidget.cpp
M +0 -2 kcmodule/activities/activitywidget.h
https://invent.kde.org/plasma/powerdevil/commit/121df4cd76464aa987006e42a29672b412e15435
diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp
index 559bd7942..5393f753c 100644
--- a/daemon/powerdevilcore.cpp
+++ b/daemon/powerdevilcore.cpp
@@ -303,62 +303,35 @@ void Core::loadProfile(bool force)
KConfigGroup activitiesConfig(m_profilesConfig, "Activities");
qCDebug(POWERDEVIL) << "Activities with settings:" << activitiesConfig.groupList() << activitiesConfig.keyList();
- // Are we mirroring an activity?
- if (activitiesConfig.group(activity).readEntry("mode", "None") == QStringLiteral("ActLike") &&
- activitiesConfig.group(activity).readEntry("actLike", QString()) != QStringLiteral("AC") &&
- activitiesConfig.group(activity).readEntry("actLike", QString()) != QStringLiteral("Battery") &&
- activitiesConfig.group(activity).readEntry("actLike", QString()) != QStringLiteral("LowBattery")) {
- // Yes, let's use that then
- activity = activitiesConfig.group(activity).readEntry("actLike", QString());
- qCDebug(POWERDEVIL) << "Activity is a mirror";
- }
-
KConfigGroup activityConfig = activitiesConfig.group(activity);
qCDebug(POWERDEVIL) << "Settings for loaded activity:" << activity << activityConfig.groupList() << activityConfig.keyList();
- // See if this activity has priority
- if (activityConfig.readEntry("mode", "None") == QStringLiteral("SeparateSettings")) {
- // Prioritize this profile over anything
- config = activityConfig.group("SeparateSettings");
- qCDebug(POWERDEVIL) << "Activity is enforcing a different profile";
- profileId = activity;
+ // let's load the current state's profile
+ if (m_batteriesPercent.isEmpty()) {
+ qCDebug(POWERDEVIL) << "No batteries found, loading AC";
+ profileId = QStringLiteral("AC");
} else {
- // It doesn't, let's load the current state's profile
- if (m_batteriesPercent.isEmpty()) {
- qCDebug(POWERDEVIL) << "No batteries found, loading AC";
+ // Compute the previous and current global percentage
+ const int percent = currentChargePercent();
+
+ if (backend()->acAdapterState() == BackendInterface::Plugged) {
profileId = QStringLiteral("AC");
- } else if (activityConfig.readEntry("mode", "None") == QStringLiteral("ActLike")) {
- if (activityConfig.readEntry("actLike", QString()) == QStringLiteral("AC") ||
- activityConfig.readEntry("actLike", QString()) == QStringLiteral("Battery") ||
- activityConfig.readEntry("actLike", QString()) == QStringLiteral("LowBattery")) {
- // Same as above, but with an existing profile
- config = m_profilesConfig.data()->group(activityConfig.readEntry("actLike", QString()));
- profileId = activityConfig.readEntry("actLike", QString());
- qCDebug(POWERDEVIL) << "Activity is mirroring a different profile";
- }
+ qCDebug(POWERDEVIL) << "Loading profile for plugged AC";
+ } else if (percent <= PowerDevilSettings::batteryLowLevel()) {
+ profileId = QStringLiteral("LowBattery");
+ qCDebug(POWERDEVIL) << "Loading profile for low battery";
} else {
- // Compute the previous and current global percentage
- const int percent = currentChargePercent();
-
- if (backend()->acAdapterState() == BackendInterface::Plugged) {
- profileId = QStringLiteral("AC");
- qCDebug(POWERDEVIL) << "Loading profile for plugged AC";
- } else if (percent <= PowerDevilSettings::batteryLowLevel()) {
- profileId = QStringLiteral("LowBattery");
- qCDebug(POWERDEVIL) << "Loading profile for low battery";
- } else {
- profileId = QStringLiteral("Battery");
- qCDebug(POWERDEVIL) << "Loading profile for unplugged AC";
- }
+ profileId = QStringLiteral("Battery");
+ qCDebug(POWERDEVIL) << "Loading profile for unplugged AC";
}
-
- config = m_profilesConfig.data()->group(profileId);
- qCDebug(POWERDEVIL) << "Activity is not forcing a profile";
}
+ config = m_profilesConfig.data()->group(profileId);
+ qCDebug(POWERDEVIL) << "Activity is not forcing a profile";
+
// Release any special inhibitions
{
- QHash::iterator i = m_sessionActivityInhibit.begin();
+ QHash::iterator i = m_sessionActivityInhibit.begin();
while (i != m_sessionActivityInhibit.end()) {
PolicyAgent::instance()->ReleaseInhibition(i.value());
i = m_sessionActivityInhibit.erase(i);
diff --git a/doc/kcm/index.docbook b/doc/kcm/index.docbook
index c57007105..56b2eadc5 100644
--- a/doc/kcm/index.docbook
+++ b/doc/kcm/index.docbook
@@ -153,14 +153,6 @@ If this option is chosen, a special behavior for activity can be chosen. If this
-
-Use separate settings (advanced users only)
-
-
-This option allows users to choose the detail power saving settings for a separate activity. The settings are similar to the settings from the Energy Saving page.
-
-
-
diff --git a/kcmodule/activities/activityWidget.ui b/kcmodule/activities/activityWidget.ui
index 93859a184..c0cb1d29b 100644
--- a/kcmodule/activities/activityWidget.ui
+++ b/kcmodule/activities/activityWidget.ui
@@ -23,37 +23,6 @@
-
-
-
-
-
- Act like
-
-
-
-
-
-
- false
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
@@ -132,20 +101,6 @@
-
-
-
- Use separate settings
-
-
-
-
-
-
- 30
-
-
-
@@ -164,22 +119,5 @@
-
-
- actLikeRadio
- toggled(bool)
- actLikeComboBox
- setEnabled(bool)
-
-
- 44
- 66
-
-
- 133
- 66
-
-
-
-
+
diff --git a/kcmodule/activities/activitywidget.cpp b/kcmodule/activities/activitywidget.cpp
index ed4bfef39..b1db8b68b 100644
--- a/kcmodule/activities/activitywidget.cpp
+++ b/kcmodule/activities/activitywidget.cpp
@@ -26,25 +26,21 @@
#include "powerdevilpowermanagement.h"
-#include
#include
+#include
+#include
#include
#include
-#include
-#include
-ActivityWidget::ActivityWidget(const QString& activity, QWidget* parent)
+ActivityWidget::ActivityWidget(const QString &activity, QWidget *parent)
: QWidget(parent)
, m_ui(new Ui::ActivityWidget)
, m_profilesConfig(KSharedConfig::openConfig("powermanagementprofilesrc", KConfig::SimpleConfig | KConfig::CascadeConfig))
, m_activity(activity)
, m_activityConsumer(new KActivities::Consumer(this))
- , m_actionEditWidget(new ActionEditWidget(QString("Activities/%1/SeparateSettings").arg(activity)))
{
m_ui->setupUi(this);
- m_ui->separateSettingsLayout->addWidget(m_actionEditWidget);
-
for (int i = 0; i < m_ui->specialBehaviorLayout->count(); ++i) {
QWidget *widget = m_ui->specialBehaviorLayout->itemAt(i)->widget();
if (widget) {
@@ -64,20 +60,10 @@ ActivityWidget::ActivityWidget(const QString& activity, QWidget* parent)
}
}
- m_actionEditWidget->setVisible(false);
- m_actionEditWidget->load();
-
- connect(m_ui->separateSettingsRadio, &QAbstractButton::toggled, m_actionEditWidget, &QWidget::setVisible);
-
- connect(m_ui->actLikeRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
connect(m_ui->noSettingsRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
- connect(m_ui->separateSettingsRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
connect(m_ui->specialBehaviorRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
- connect(m_ui->actLikeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setChanged()));
connect(m_ui->alwaysActionBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setChanged()));
connect(m_ui->alwaysAfterSpin, SIGNAL(valueChanged(int)), this, SLOT(setChanged()));
-
- connect(m_actionEditWidget, &ActionEditWidget::changed, this, &ActivityWidget::changed);
}
ActivityWidget::~ActivityWidget()
@@ -103,50 +89,8 @@ void ActivityWidget::load()
}
m_ui->alwaysActionBox->addItem(QIcon::fromTheme("system-shutdown"), i18n("Shut down"), (uint)SuspendSession::ShutdownMode);
- m_ui->actLikeComboBox->clear();
-
- m_ui->actLikeComboBox->addItem(QIcon::fromTheme("battery-charging"), i18n("PC running on AC power"), "AC");
- m_ui->actLikeComboBox->addItem(QIcon::fromTheme("battery-060"), i18n("PC running on battery power"), "Battery");
- m_ui->actLikeComboBox->addItem(QIcon::fromTheme("battery-low"), i18n("PC running on low battery"), "LowBattery");
-
- bool hasBattery = false;
- const auto batteries = Solid::Device::listFromType(Solid::DeviceInterface::Battery, QString());
- for (const Solid::Device &device : batteries) {
- const Solid::Battery *b = qobject_cast (device.asDeviceInterface(Solid::DeviceInterface::Battery));
- if (b->type() == Solid::Battery::PrimaryBattery || b->type() == Solid::Battery::UpsBattery) {
- hasBattery = false;
- break;
- }
- }
-
- m_ui->actLikeRadio->setVisible(hasBattery);
- m_ui->actLikeComboBox->setVisible(hasBattery);
-
- const QStringList activities = m_activityConsumer->activities();
- for (const QString &activity : activities) {
- if (activity == m_activity) {
- continue;
- }
-
- if (activitiesGroup.group(activity).readEntry("mode", "None") == "None" ||
- activitiesGroup.group(activity).readEntry("mode", "None") == "ActLike") {
- continue;
- }
-
- KActivities::Info *info = new KActivities::Info(activity, this);
- QString icon = info->icon();
- QString name = i18nc("This is meant to be: Act like activity %1",
- "Activity \"%1\"", info->name());
-
- m_ui->actLikeComboBox->addItem(QIcon::fromTheme(icon), name, activity);
- }
-
// Proper loading routine
-
- if (config.readEntry("mode", QString()) == "ActLike") {
- m_ui->actLikeRadio->setChecked(true);
- m_ui->actLikeComboBox->setCurrentIndex(m_ui->actLikeComboBox->findData(config.readEntry("actLike", QString())));
- } else if (config.readEntry("mode", QString()) == "SpecialBehavior") {
+ if (config.readEntry("mode", QString()) == "SpecialBehavior") {
m_ui->specialBehaviorRadio->setChecked(true);
KConfigGroup behaviorGroup = config.group("SpecialBehavior");
@@ -157,10 +101,6 @@ void ActivityWidget::load()
KConfigGroup actionConfig = behaviorGroup.group("ActionConfig");
m_ui->alwaysActionBox->setCurrentIndex(m_ui->alwaysActionBox->findData(actionConfig.readEntry("suspendType", 0)));
m_ui->alwaysAfterSpin->setValue(actionConfig.readEntry("idleTime", 600000) / 60 / 1000);
- } else if (config.readEntry("mode", QString()) == "SeparateSettings") {
- m_ui->separateSettingsRadio->setChecked(true);
-
- m_actionEditWidget->load();
}
}
@@ -169,10 +109,7 @@ void ActivityWidget::save()
KConfigGroup activitiesGroup(m_profilesConfig, "Activities");
KConfigGroup config = activitiesGroup.group(m_activity);
- if (m_ui->actLikeRadio->isChecked()) {
- config.writeEntry("mode", "ActLike");
- config.writeEntry("actLike", m_ui->actLikeComboBox->itemData(m_ui->actLikeComboBox->currentIndex()).toString());
- } else if (m_ui->specialBehaviorRadio->isChecked()) {
+ if (m_ui->specialBehaviorRadio->isChecked()) {
config.writeEntry("mode", "SpecialBehavior");
KConfigGroup behaviorGroup = config.group("SpecialBehavior");
@@ -187,9 +124,6 @@ void ActivityWidget::save()
actionConfig.sync();
behaviorGroup.sync();
- } else if (m_ui->separateSettingsRadio->isChecked()) {
- config.writeEntry("mode", "SeparateSettings");
- m_actionEditWidget->save();
} else {
config.writeEntry("mode", "None");
}
diff --git a/kcmodule/activities/activitywidget.h b/kcmodule/activities/activitywidget.h
index de96c4873..0c4fa366a 100644
--- a/kcmodule/activities/activitywidget.h
+++ b/kcmodule/activities/activitywidget.h
@@ -24,7 +24,6 @@
#include
#include
-class ActionEditWidget;
namespace KActivities
{
class Consumer;
@@ -55,7 +54,6 @@ private:
KSharedConfig::Ptr m_profilesConfig;
QString m_activity;
KActivities::Consumer *const m_activityConsumer;
- ActionEditWidget *const m_actionEditWidget;
};
#endif // ACTIVITYWIDGET_H
From null at kde.org Wed Apr 5 17:04:43 2023
From: null at kde.org (Jonathan Marten)
Date: Wed, 5 Apr 2023 16:04:43 +0000 (UTC)
Subject: =?utf-8?q?=5Bframeworks/kio/kf5=5D_src/core=3A_SlaveInterface=3A_Set_button_icon_for_=22Continue_Loading=22?=
Message-ID: <20230405160443.3B8701240433@leptone.kde.org>
Git commit bed39a75a9967ad8ce2a6c04b6d970f68e96940b by Jonathan Marten.
Committed on 05/04/2023 at 15:32.
Pushed by marten into branch 'kf5'.
SlaveInterface: Set button icon for "Continue Loading"
This originates from the "You are about to leave secure mode..."
message box in TCPWorkerBase::connectToHost(). The string tested
here must match the button text exactly - yes, it's a hack, and
hopefully there will be a better solution in KF6.
GUI:
M +2 -0 src/core/slaveinterface.cpp
https://invent.kde.org/frameworks/kio/commit/bed39a75a9967ad8ce2a6c04b6d970f68e96940b
diff --git a/src/core/slaveinterface.cpp b/src/core/slaveinterface.cpp
index 4adeb70be..c889b65ec 100644
--- a/src/core/slaveinterface.cpp
+++ b/src/core/slaveinterface.cpp
@@ -423,6 +423,8 @@ void SlaveInterface::messageBox(int type,
data.insert(UserNotificationHandler::MSG_PRIMARYACTION_ICON, QLatin1String("help-about"));
} else if (primaryActionText == i18n("&Forever")) {
data.insert(UserNotificationHandler::MSG_PRIMARYACTION_ICON, QLatin1String("flag-green"));
+ } else if (primaryActionText == i18n("C&ontinue Loading")) {
+ data.insert(UserNotificationHandler::MSG_PRIMARYACTION_ICON, QLatin1String("arrow-right"));
}
if (secondaryActionText == i18n("Co&ntinue")) {
From null at kde.org Wed Apr 5 23:38:57 2023
From: null at kde.org (Nicolas Fella)
Date: Wed, 5 Apr 2023 22:38:57 +0000 (UTC)
Subject: =?utf-8?q?=5Bplasma/powerdevil=5D_/=3A_Drop_per-activity_suspend/shutdown_timeout?=
Message-ID: <20230405223857.5AB911240433@leptone.kde.org>
Git commit f64bb500df79774b4b8858d3784cc34b234a9fa1 by Nicolas Fella.
Committed on 05/04/2023 at 19:24.
Pushed by nicolasfella into branch 'master'.
Drop per-activity suspend/shutdown timeout
This allows to suspend/shutdown after n minutes on a per-activity basis
Previously we agreed that such per-activity config is overkill, except for the inhibitions
Consequently remove it
M +0 -5 daemon/powerdevilcore.cpp
M +1 -1 doc/kcm/index.docbook
M +0 -50 kcmodule/activities/activityWidget.ui
M +0 -30 kcmodule/activities/activitywidget.cpp
https://invent.kde.org/plasma/powerdevil/commit/f64bb500df79774b4b8858d3784cc34b234a9fa1
diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp
index 5393f753c..f53bb30a5 100644
--- a/daemon/powerdevilcore.cpp
+++ b/daemon/powerdevilcore.cpp
@@ -395,11 +395,6 @@ void Core::loadProfile(bool force)
if (activityConfig.readEntry("mode", "None") == QStringLiteral("SpecialBehavior")) {
qCDebug(POWERDEVIL) << "Activity has special behaviors";
KConfigGroup behaviorGroup = activityConfig.group("SpecialBehavior");
- if (behaviorGroup.readEntry("performAction", false)) {
- // Let's override the configuration for this action at all times
- ActionPool::instance()->loadAction(QStringLiteral("SuspendSession"), behaviorGroup.group("ActionConfig"), this);
- qCDebug(POWERDEVIL) << "Activity overrides suspend session action"; // debug hence not sleep
- }
if (behaviorGroup.readEntry("noSuspend", false)) {
qCDebug(POWERDEVIL) << "Activity triggers a suspend inhibition"; // debug hence not sleep
diff --git a/doc/kcm/index.docbook b/doc/kcm/index.docbook
index 56b2eadc5..c7d8ead67 100644
--- a/doc/kcm/index.docbook
+++ b/doc/kcm/index.docbook
@@ -149,7 +149,7 @@ Use the settings defined on Energy Saving page.
Define a special behavior
-If this option is chosen, a special behavior for activity can be chosen. If this is a presentation activity, you can check the Never shutdown the screen and Never shutdown the computer or let it go to sleep boxes. It is also possible to define the time interval for the computer to switch to a suspension mode for the power saving activities.
+If this option is chosen, a special behavior for activity can be chosen. If this is a presentation activity, you can check the Never shutdown the screen and Never shutdown the computer or let it go to sleep boxes.
diff --git a/kcmodule/activities/activityWidget.ui b/kcmodule/activities/activityWidget.ui
index c0cb1d29b..9bfe09a9d 100644
--- a/kcmodule/activities/activityWidget.ui
+++ b/kcmodule/activities/activityWidget.ui
@@ -49,56 +49,6 @@
-
-
-
- 10
-
-
-
-
- Always
-
-
-
-
-
-
-
-
-
- after
-
-
-
-
-
-
- min
-
-
- 1
-
-
- 360
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
diff --git a/kcmodule/activities/activitywidget.cpp b/kcmodule/activities/activitywidget.cpp
index b1db8b68b..8e478cdb4 100644
--- a/kcmodule/activities/activitywidget.cpp
+++ b/kcmodule/activities/activitywidget.cpp
@@ -22,10 +22,6 @@
#include "ui_activityWidget.h"
-#include "../daemon/actions/bundled/suspendsession.h"
-
-#include "powerdevilpowermanagement.h"
-
#include
#include
#include
@@ -62,8 +58,6 @@ ActivityWidget::ActivityWidget(const QString &activity, QWidget *parent)
connect(m_ui->noSettingsRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
connect(m_ui->specialBehaviorRadio, &QAbstractButton::toggled, this, &ActivityWidget::setChanged);
- connect(m_ui->alwaysActionBox, SIGNAL(currentIndexChanged(int)), this, SLOT(setChanged()));
- connect(m_ui->alwaysAfterSpin, SIGNAL(valueChanged(int)), this, SLOT(setChanged()));
}
ActivityWidget::~ActivityWidget()
@@ -76,19 +70,6 @@ void ActivityWidget::load()
KConfigGroup activitiesGroup(m_profilesConfig, "Activities");
KConfigGroup config = activitiesGroup.group(m_activity);
- using namespace PowerDevil::BundledActions;
-
- m_ui->alwaysActionBox->clear();
- if (PowerDevil::PowerManagement::instance()->canSuspend()) {
- m_ui->alwaysActionBox->addItem(QIcon::fromTheme("system-suspend"),
- i18nc("Suspend to RAM", "Sleep"), (uint)SuspendSession::ToRamMode);
- }
- if (PowerDevil::PowerManagement::instance()->canHibernate()) {
- m_ui->alwaysActionBox->addItem(QIcon::fromTheme("system-suspend-hibernate"),
- i18n("Hibernate"), (uint)SuspendSession::ToDiskMode);
- }
- m_ui->alwaysActionBox->addItem(QIcon::fromTheme("system-shutdown"), i18n("Shut down"), (uint)SuspendSession::ShutdownMode);
-
// Proper loading routine
if (config.readEntry("mode", QString()) == "SpecialBehavior") {
m_ui->specialBehaviorRadio->setChecked(true);
@@ -96,11 +77,6 @@ void ActivityWidget::load()
m_ui->noShutdownPCBox->setChecked(behaviorGroup.readEntry("noSuspend", false));
m_ui->noShutdownScreenBox->setChecked(behaviorGroup.readEntry("noScreenManagement", false));
- m_ui->alwaysBox->setChecked(behaviorGroup.readEntry("performAction", false));
-
- KConfigGroup actionConfig = behaviorGroup.group("ActionConfig");
- m_ui->alwaysActionBox->setCurrentIndex(m_ui->alwaysActionBox->findData(actionConfig.readEntry("suspendType", 0)));
- m_ui->alwaysAfterSpin->setValue(actionConfig.readEntry("idleTime", 600000) / 60 / 1000);
}
}
@@ -116,13 +92,7 @@ void ActivityWidget::save()
behaviorGroup.writeEntry("noSuspend", m_ui->noShutdownPCBox->isChecked());
behaviorGroup.writeEntry("noScreenManagement", m_ui->noShutdownScreenBox->isChecked());
- behaviorGroup.writeEntry("performAction", m_ui->alwaysBox->isChecked());
-
- KConfigGroup actionConfig = behaviorGroup.group("ActionConfig");
- actionConfig.writeEntry("suspendType", m_ui->alwaysActionBox->itemData(m_ui->alwaysActionBox->currentIndex()));
- actionConfig.writeEntry("idleTime", m_ui->alwaysAfterSpin->value() * 60 * 1000);
- actionConfig.sync();
behaviorGroup.sync();
} else {
config.writeEntry("mode", "None");
From null at kde.org Thu Apr 6 05:33:05 2023
From: null at kde.org (Alexander Reinholdt)
Date: Thu, 6 Apr 2023 04:33:05 +0000 (UTC)
Subject: =?utf-8?q?=5Bnetwork/smb4k/3=2E2=5D_doc=3A_Correct_menu_entry_in_command_reference_section=2E?=
Message-ID: <20230406043305.3039F1240433@leptone.kde.org>
Git commit b121b54043d51720d7ca812ba0050418b471b6f8 by Alexander Reinholdt.
Committed on 06/04/2023 at 04:33.
Pushed by areinholdt into branch '3.2'.
Correct menu entry in command reference section.
M +1 -1 doc/index.docbook
https://invent.kde.org/network/smb4k/commit/b121b54043d51720d7ca812ba0050418b471b6f8
diff --git a/doc/index.docbook b/doc/index.docbook
index a094e5f8..934739b7 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -4573,7 +4573,7 @@ ntlm auth = yes
&Ctrl; C
- Network
+ SharesAdd Custom Settings
From null at kde.org Thu Apr 6 05:35:08 2023
From: null at kde.org (Alexander Reinholdt)
Date: Thu, 6 Apr 2023 04:35:08 +0000 (UTC)
Subject: =?utf-8?q?=5Bnetwork/smb4k=5D_doc=3A_Correct_menu_entry_in_command_reference_section=2E?=
Message-ID: <20230406043508.A5FBD1240433@leptone.kde.org>
Git commit 19a115dbeb4e09e95a3b4468317852cf9ba14304 by Alexander Reinholdt.
Committed on 06/04/2023 at 04:35.
Pushed by areinholdt into branch 'master'.
Correct menu entry in command reference section.
(cherry picked from commit b121b54043d51720d7ca812ba0050418b471b6f8)
M +1 -1 doc/index.docbook
https://invent.kde.org/network/smb4k/commit/19a115dbeb4e09e95a3b4468317852cf9ba14304
diff --git a/doc/index.docbook b/doc/index.docbook
index 091697a3..c26bf456 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -4573,7 +4573,7 @@ ntlm auth = yes
&Ctrl; C
- Network
+ SharesAdd Custom Settings
From null at kde.org Sun Apr 9 14:38:24 2023
From: null at kde.org (Yuri Chornoivan)
Date: Sun, 9 Apr 2023 13:38:24 +0000 (UTC)
Subject: =?utf-8?q?=5Bmultimedia/haruna=5D_doc=3A_Fix_minor_typo?=
Message-ID: <20230409133824.ABBF51240434@leptone.kde.org>
Git commit b584f54a226a9edba42cded700064710e4b00a13 by Yuri Chornoivan.
Committed on 09/04/2023 at 13:38.
Pushed by yurchor into branch 'master'.
Fix minor typo
M +1 -1 doc/index.docbook
https://invent.kde.org/multimedia/haruna/commit/b584f54a226a9edba42cded700064710e4b00a13
diff --git a/doc/index.docbook b/doc/index.docbook
index 4a5417e..973db07 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -91,7 +91,7 @@
PlaybackSeek steps
- How much to seek when triggering the coresponding action. Seek mode is exact
+ How much to seek when triggering the corresponding action. Seek mode is exact
https://mpv.io/manual/stable/#command-interface-seek-<target>-[<flags>].
From null at kde.org Mon Apr 10 16:41:31 2023
From: null at kde.org (Nicolas Fella)
Date: Mon, 10 Apr 2023 15:41:31 +0000 (UTC)
Subject: =?utf-8?q?=5Bplasma/powerdevil=5D_/=3A_Drop_wireless_power_management_options?=
Message-ID: <20230410154131.377621240434@leptone.kde.org>
Git commit aa32843ade524e74f74544e6baa31de52c4abffd by Nicolas Fella.
Committed on 10/04/2023 at 15:39.
Pushed by nicolasfella into branch 'master'.
Drop wireless power management options
This allows to configure things like "Turn off Wifi/Bluetooth when going on battery", presumbly to save power by turning off the relevant hardware.
However this can hardly be useful in practice, because just because you are running on battery doesn't mean you don't need Wifi/Bluetooth any more.
Fixes https://invent.kde.org/plasma/powerdevil/-/issues/15
M +0 -4 .kde-ci.yml
M +0 -23 CMakeLists.txt
M +0 -6 daemon/actions/bundled/CMakeLists.txt
D +0 -14 daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
D +0 -95 daemon/actions/bundled/powerdevilwirelesspowersavingaction.json
D +0 -202 daemon/actions/bundled/wirelesspowersaving.cpp
D +0 -91 daemon/actions/bundled/wirelesspowersaving.h
D +0 -124 daemon/actions/bundled/wirelesspowersavingconfig.cpp
D +0 -53 daemon/actions/bundled/wirelesspowersavingconfig.h
M +0 -3 daemon/config-powerdevil.h.cmake
M +0 -7 doc/kcm/index.docbook
https://invent.kde.org/plasma/powerdevil/commit/aa32843ade524e74f74544e6baa31de52c4abffd
diff --git a/.kde-ci.yml b/.kde-ci.yml
index 1516d55d..a76ea5fe 100644
--- a/.kde-ci.yml
+++ b/.kde-ci.yml
@@ -29,9 +29,5 @@ Dependencies:
'frameworks/kcmutils': '@latest-kf6' # kcmutils_generate_desktop_file
'plasma/plasma-workspace': '@same'
-- 'on': ['Linux']
- 'require':
- 'frameworks/bluez-qt': '@latest-kf6'
- 'frameworks/networkmanager-qt': '@latest-kf6'
Options:
require-passing-tests-on: [ 'Linux', 'FreeBSD']
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4dcbf653..d14f2d31 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,29 +29,6 @@ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS Activities Auth IdleTime
find_package(KF6Screen CONFIG REQUIRED)
find_package(LibKWorkspace CONFIG REQUIRED)
-find_package(KF6BluezQt ${KF6_MIN_VERSION})
-set_package_properties(KF6BluezQt
- PROPERTIES DESCRIPTION "Qt wrapper for BlueZ 5 DBus API"
- TYPE OPTIONAL
- PURPOSE "Support for wireless energy saving actions"
-)
-find_package(KF6NetworkManagerQt ${KF6_MIN_VERSION})
-set_package_properties(KF6NetworkManagerQt
- PROPERTIES DESCRIPTION "Qt wrapper for NetworkManager API"
- TYPE OPTIONAL
- PURPOSE "Support for wireless energy saving actions"
-)
-
-set(HAVE_WIRELESS_SUPPORT FALSE)
-if(KF6NetworkManagerQt_FOUND AND KF6BluezQt_FOUND)
- set(HAVE_WIRELESS_SUPPORT TRUE)
-endif()
-add_feature_info(
- "Wireless power saving"
- HAVE_WIRELESS_SUPPORT
- "Support turning off signal-transmitting devices to save energy"
-)
-
find_package(LibKWorkspace ${PROJECT_VERSION} REQUIRED)
find_package(UDev REQUIRED)
diff --git a/daemon/actions/bundled/CMakeLists.txt b/daemon/actions/bundled/CMakeLists.txt
index 7a1f335c..b25d0c97 100644
--- a/daemon/actions/bundled/CMakeLists.txt
+++ b/daemon/actions/bundled/CMakeLists.txt
@@ -61,12 +61,6 @@ qt_add_dbus_interface(powerprofile_dbus_SRCS org.freedesktop.DBus.Properties.xml
qt_add_dbus_interface(powerprofile_dbus_SRCS net.hadess.PowerProfiles.xml power_profiles_interface)
target_sources(powerdevil_powerprofileaction PRIVATE ${powerprofile_dbus_SRCS} ${handlebuttons_SRCS})
-if(HAVE_WIRELESS_SUPPORT)
- add_powerdevil_bundled_action(wirelesspowersaving KF6::NetworkManagerQt KF6::BluezQt)
- target_dbus_files(powerdevil_wirelesspowersavingaction org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
- actions/bundled/wirelesspowersaving.h PowerDevil::BundledActions::WirelessPowerSaving)
-endif()
-
kcoreaddons_add_plugin(powerdevil_handlebuttoneventsaction SOURCES powerdevilhandlebuttonevents_plugin.cpp ${handlebuttons_SRCS} INSTALL_NAMESPACE "powerdevil/action")
target_link_libraries(powerdevil_handlebuttoneventsaction PRIVATE powerdevilcore)
diff --git a/daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml b/daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
deleted file mode 100644
index 80f90102..00000000
--- a/daemon/actions/bundled/org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/daemon/actions/bundled/powerdevilwirelesspowersavingaction.json b/daemon/actions/bundled/powerdevilwirelesspowersavingaction.json
deleted file mode 100644
index 5f501354..00000000
--- a/daemon/actions/bundled/powerdevilwirelesspowersavingaction.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "KPlugin": {
- "Description": "Turns off signal-transmitting devices",
- "Description[ar]": "يقوم بإيقاف تشغيل أجهزة إرسال الإشارات",
- "Description[be]": "Адключэнне прылад, якія перадаюць сігнал",
- "Description[bg]": "Изключва безжичните устройства",
- "Description[ca at valencia]": "Apaga els dispositius de transmissió de senyals",
- "Description[ca]": "Apaga els dispositius de transmissió de senyals",
- "Description[cs]": "Vypne zařízení vysílající signál",
- "Description[de]": "Schaltet alle drahtlos sendenden Geräte ab",
- "Description[en_GB]": "Turns off signal-transmitting devices",
- "Description[eo]": "Malŝaltas signal-elsendajn aparatojn",
- "Description[es]": "Apaga los dispositivos que emiten señales",
- "Description[eu]": "Seinaleak transmititzeko gailuak itzaltzen ditu",
- "Description[fi]": "Sammuttaa signaaleja lähettävät laitteet",
- "Description[fr]": "Éteint les appareils transmettant des signaux",
- "Description[ia]": "Extingue dispositivos de transmission de signal",
- "Description[it]": "Spegne i dispositivi che trasmettono segnale",
- "Description[ka]": "სიგნალის გადამცემი მოწყობილობების გამორთვა",
- "Description[ko]": "무선 장치 끄기",
- "Description[lt]": "Išjungia signalą perduodančius įrenginius",
- "Description[nl]": "Zet apparaten die een radiosignaal uitzenden uit",
- "Description[nn]": "Slå av einingar som sender signal",
- "Description[pa]": "ਸਿਗਨਲ-ਟਰਾਂਸਮਿਟ ਕਰਨ ਵਾਲੇ ਡਿਵਾਈਸਾਂ ਨੂੰ ਬੰਦ ਕਰੋ",
- "Description[pl]": "Wyłącza urządzenia nadające sygnał",
- "Description[pt]": "Desliga os dispositivos de transmissão de sinais",
- "Description[pt_BR]": "Desliga os dispositivos de transmissão de sinais",
- "Description[ru]": "Выключает все радиопередающие устройства в компьютере",
- "Description[sl]": "Izklopi naprave, ki oddajajo signal",
- "Description[sv]": "Stänger av sändenheter",
- "Description[ta]": "அருகலை சாதனங்களை முடக்கும்",
- "Description[tr]": "Sinyal ileten aygıtları kapatır",
- "Description[uk]": "Вимкнути пристрої, що передають радіосигнал",
- "Description[x-test]": "xxTurns off signal-transmitting devicesxx",
- "Description[zh_CN]": "关闭信号收发设备",
- "Description[zh_TW]": "關閉訊號傳送裝置",
- "Icon": "preferences-system-network",
- "Name": "Wireless",
- "Name[ar]": "لاسلكي",
- "Name[az]": "Simsiz bağlantı",
- "Name[be]": "Бесправадное",
- "Name[bg]": "Безжични устройства",
- "Name[ca at valencia]": "Sense fil",
- "Name[ca]": "Sense fil",
- "Name[cs]": "Bezdrátové",
- "Name[da]": "Trådløst",
- "Name[de]": "Drahtlos",
- "Name[el]": "Ασύρματο",
- "Name[en_GB]": "Wireless",
- "Name[eo]": "Sendrata",
- "Name[es]": "Red inalámbrica",
- "Name[et]": "Juhtmeta ühendus",
- "Name[eu]": "Haririk gabekoa",
- "Name[fi]": "Langaton verkko",
- "Name[fr]": "Sans fil",
- "Name[gl]": "Sen fíos",
- "Name[he]": "אלחוטי",
- "Name[hu]": "Vezeték nélküli",
- "Name[ia]": "Wireless (Sin Cablos)",
- "Name[id]": "Nirkabel",
- "Name[it]": "Senza fili",
- "Name[ja]": "ワイヤレス",
- "Name[ka]": "Wi-Fi",
- "Name[ko]": "무선",
- "Name[lt]": "Belaidis",
- "Name[nb]": "Trådløs",
- "Name[nl]": "Draadloos",
- "Name[nn]": "Trådlaust",
- "Name[pa]": "ਬੇਤਾਰ",
- "Name[pl]": "Sieci bezprzewodowe",
- "Name[pt]": "Sem-Fios",
- "Name[pt_BR]": "Sem fio",
- "Name[ro]": "Fără fir",
- "Name[ru]": "Беспроводные сети",
- "Name[sk]": "Bezdrôtové zariadenia",
- "Name[sl]": "Brezžično",
- "Name[sr at ijekavian]": "Бежична",
- "Name[sr at ijekavianlatin]": "Bežična",
- "Name[sr at latin]": "Bežična",
- "Name[sr]": "Бежична",
- "Name[sv]": "Trådlös",
- "Name[ta]": "அருகலை",
- "Name[tg]": "Бесим",
- "Name[tr]": "Kablosuz",
- "Name[uk]": "Бездротова",
- "Name[x-test]": "xxWirelessxx",
- "Name[zh_CN]": "无线",
- "Name[zh_TW]": "無線"
- },
- "X-KDE-PowerDevil-Action-ConfigPriority": 60,
- "X-KDE-PowerDevil-Action-HasRuntimeRequirement": true,
- "X-KDE-PowerDevil-Action-ID": "WirelessPowerSaving",
- "X-KDE-PowerDevil-Action-RegistersDBusInterface": true,
- "X-KDE-PowerDevil-Action-UIComponentLibrary": "powerdevilwirelesspowersavingaction_config"
-}
diff --git a/daemon/actions/bundled/wirelesspowersaving.cpp b/daemon/actions/bundled/wirelesspowersaving.cpp
deleted file mode 100644
index 1ae226a1..00000000
--- a/daemon/actions/bundled/wirelesspowersaving.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2016 by Jan Grulich *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-#include "wirelesspowersaving.h"
-
-#include "wirelesspowersavingadaptor.h"
-
-#include
-#include
-
-#include
-#include
-
-#include
-
-K_PLUGIN_CLASS_WITH_JSON(PowerDevil::BundledActions::WirelessPowerSaving, "powerdevilwirelesspowersavingaction.json")
-
-namespace PowerDevil {
-namespace BundledActions {
-WirelessPowerSaving::WirelessPowerSaving(QObject *parent, const QVariantList &)
- : Action(parent)
- , m_btManager(new BluezQt::Manager())
- , m_currentProfileWifiOption(BundledActions::WirelessPowerSaving::TurnOff)
- , m_currentProfileWwanOption(BundledActions::WirelessPowerSaving::TurnOff)
- , m_currentProfileBtOption(BundledActions::WirelessPowerSaving::TurnOff)
- , m_lastProfileWifiOption(BundledActions::WirelessPowerSaving::TurnOff)
- , m_lastProfileWwanOption(BundledActions::WirelessPowerSaving::TurnOff)
- , m_lastProfileBtOption(BundledActions::WirelessPowerSaving::TurnOff)
-{
- // DBus
- new WirelessPowerSavingAdaptor(this);
-
- setRequiredPolicies(PowerDevil::PolicyAgent::None);
-}
-
-void WirelessPowerSaving::onProfileUnload()
-{
- if (m_lastWifiState && m_currentProfileWifiOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setWirelessEnabled(true);
- } else if (!m_lastWifiState && m_currentProfileWifiOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setWirelessEnabled(false);
- }
-
- if (m_lastWwanState && m_currentProfileWwanOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setMobileBroadbandEnabled(true);
- } else if (!m_lastWwanState && m_currentProfileWwanOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setMobileBroadbandEnabled(false);
- }
-
- if (m_lastBtState && m_currentProfileBtOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setBluetoothEnabled(true);
- } else if (!m_lastBtState && m_currentProfileBtOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setBluetoothEnabled(false);
- }
-}
-
-void WirelessPowerSaving::onWakeupFromIdle()
-{
- // Nothing to do
-}
-
-void WirelessPowerSaving::onIdleTimeout(int msec)
-{
- Q_UNUSED(msec);
- // Nothing to do
-}
-
-void WirelessPowerSaving::onProfileLoad()
-{
- qCDebug(POWERDEVIL) << m_currentProfile << m_lastProfile;
-
- if (((m_currentProfile == QLatin1String("Battery") && m_lastProfile == QLatin1String("AC")) ||
- (m_currentProfile == QLatin1String("LowBattery") && (m_lastProfile == QLatin1String("AC") || m_lastProfile == QLatin1String("Battery")))) &&
- (((m_lastProfileWifiOption == BundledActions::WirelessPowerSaving::TurnOff && m_currentProfileWifiOption == BundledActions::WirelessPowerSaving::TurnOn) || m_currentProfileWifiOption == NoAction) &&
- ((m_lastProfileWwanOption == BundledActions::WirelessPowerSaving::TurnOff && m_currentProfileWwanOption == BundledActions::WirelessPowerSaving::TurnOn) || m_currentProfileWwanOption == NoAction) &&
- ((m_lastProfileBtOption == BundledActions::WirelessPowerSaving::TurnOff && m_currentProfileBtOption == BundledActions::WirelessPowerSaving::TurnOn) || m_currentProfileBtOption == NoAction))) {
- // We don't want to change anything here
- qCDebug(POWERDEVIL) << "Not changing anything, the current profile is more conservative";
- } else {
- QVariantMap args{
- {{QLatin1String("wifiOption"), QVariant::fromValue((uint)m_currentProfileWifiOption)},
- {QLatin1String("wwanOption"), QVariant::fromValue((uint)m_currentProfileWwanOption)},
- {QLatin1String("btOption"), QVariant::fromValue((uint)m_currentProfileBtOption)}}
- };
-
- trigger(args);
- }
-}
-
-void WirelessPowerSaving::triggerImpl(const QVariantMap& args)
-{
- const PowerSavingOption wifiOption = (PowerSavingOption)args.value(QLatin1String("wifiOption")).toUInt();
- const PowerSavingOption wwanOption = (PowerSavingOption)args.value(QLatin1String("wwanOption")).toUInt();
- const PowerSavingOption btOption = (PowerSavingOption)args.value(QLatin1String("btOption")).toUInt();
-
- if (wifiOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setWirelessEnabled(false);
- } else if (wifiOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setWirelessEnabled(true);
- }
-
- if (wwanOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setMobileBroadbandEnabled(false);
- } else if (wwanOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setMobileBroadbandEnabled(true);
- }
-
- if (btOption == BundledActions::WirelessPowerSaving::TurnOff) {
- setBluetoothEnabled(false);
- } else if (btOption == BundledActions::WirelessPowerSaving::TurnOn) {
- setBluetoothEnabled(true);
- }
-}
-
-bool WirelessPowerSaving::isSupported()
-{
- /* Check if we can enable/disable bluetooth ???
- * This would require to check if we can read/write from/to /dev/rfkill. Maybe Rfkill class from bluez-qt
- * can be used for this, but it seems to be private class
- */
-
- static NMStringMap permissions = NetworkManager::permissions();
- bool changeWifiAllowed = false;
- bool changeWwanAllowed = false;
- for (auto it = permissions.constBegin(); it != permissions.constEnd(); ++it) {
- if (it.key() == QLatin1String("org.freedesktop.NetworkManager.enable-disable-wifi")) {
- changeWifiAllowed = it.value() == QLatin1String("yes");
- } else if (it.key() == QLatin1String("org.freedesktop.NetworkManager.enable-disable-wwan")) {
- changeWwanAllowed = it.value() == QLatin1String("yes");
- }
- }
-
- return changeWifiAllowed || changeWwanAllowed;
-}
-
-bool WirelessPowerSaving::loadAction(const KConfigGroup& config)
-{
- // Handle profile changes
- m_lastProfile = m_currentProfile;
- m_currentProfile = config.parent().name();
-
- qCDebug(POWERDEVIL) << "Profiles: " << m_currentProfile << m_lastProfile;
-
- m_lastProfileWifiOption = m_currentProfileWifiOption;
- m_lastProfileWwanOption = m_currentProfileWwanOption;
- m_lastProfileBtOption = m_currentProfileBtOption;
-
- if (config.hasKey("wifiOption")) {
- m_currentProfileWifiOption = (PowerSavingOption)config.readEntry("wifiOption", 0);
- }
-
- if (config.hasKey("wwanOption")) {
- m_currentProfileWwanOption = (PowerSavingOption)config.readEntry("wwanOption", 0);
- }
-
- if (config.hasKey("btOption")) {
- m_currentProfileBtOption = (PowerSavingOption)config.readEntry("btOption", 0);
- }
-
-
- m_lastWifiState = NetworkManager::isWirelessEnabled();
- m_lastWwanState = NetworkManager::isWwanEnabled();
- m_lastBtState = !m_btManager->isBluetoothBlocked();
-
- return true;
-}
-
-void WirelessPowerSaving::setBluetoothEnabled(bool enabled)
-{
- m_btManager->setBluetoothBlocked(!enabled);
-}
-
-void WirelessPowerSaving::setMobileBroadbandEnabled(bool enabled)
-{
- NetworkManager::setWwanEnabled(enabled);
-}
-
-void WirelessPowerSaving::setWirelessEnabled(bool enabled)
-{
- NetworkManager::setWirelessEnabled(enabled);
-}
-
-}
-
-}
-#include "wirelesspowersaving.moc"
diff --git a/daemon/actions/bundled/wirelesspowersaving.h b/daemon/actions/bundled/wirelesspowersaving.h
deleted file mode 100644
index 4970ea34..00000000
--- a/daemon/actions/bundled/wirelesspowersaving.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2016 by Jan Grulich *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-
-#ifndef POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVING_H
-#define POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVING_H
-
-#include
-#include
-
-#include
-
-namespace PowerDevil {
-namespace BundledActions {
-
-class WirelessPowerSaving : public PowerDevil::Action
-{
- Q_OBJECT
- Q_DISABLE_COPY(WirelessPowerSaving)
- Q_CLASSINFO("D-Bus Interface", "org.kde.Solid.PowerManagement.Actions.WirelessPowerSaving")
-
-public:
- enum PowerSavingOption {
- NoAction = 0,
- TurnOff = 1,
- TurnOn = 2
- };
-
- explicit WirelessPowerSaving(QObject *parent, const QVariantList &);
- ~WirelessPowerSaving() override = default;
-
-protected:
- void onProfileUnload() override;
- void onWakeupFromIdle() override;
- void onIdleTimeout(int msec) override;
- void onProfileLoad() override;
- void triggerImpl(const QVariantMap& args) override;
- bool isSupported() override;
-
-public:
- bool loadAction(const KConfigGroup& config) override;
-
-public Q_SLOTS:
- // DBus export
- void setBluetoothEnabled(bool enabled);
- void setMobileBroadbandEnabled(bool enabled);
- void setWirelessEnabled(bool enabled);
-
-private:
- BluezQt::Manager *const m_btManager;
-
- QString m_currentProfile;
- QString m_lastProfile;
-
- // Options for current profile
- PowerSavingOption m_currentProfileWifiOption;
- PowerSavingOption m_currentProfileWwanOption;
- PowerSavingOption m_currentProfileBtOption;
-
- // Options for previous profile
- PowerSavingOption m_lastProfileWifiOption;
- PowerSavingOption m_lastProfileWwanOption;
- PowerSavingOption m_lastProfileBtOption;
-
- // State of devices before we change that due to changed profile
- bool m_lastWifiState = false;
- bool m_lastWwanState = false;
- bool m_lastBtState = false;
-};
-
-}
-
-}
-
-#endif // POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVING_H
diff --git a/daemon/actions/bundled/wirelesspowersavingconfig.cpp b/daemon/actions/bundled/wirelesspowersavingconfig.cpp
deleted file mode 100644
index e8640767..00000000
--- a/daemon/actions/bundled/wirelesspowersavingconfig.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2016 by Jan Grulich *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-#include "wirelesspowersavingconfig.h"
-#include "wirelesspowersaving.h"
-
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-#include
-
-K_PLUGIN_FACTORY(PowerDevilWirelessPowerSavingConfigFactory, registerPlugin(); )
-
-namespace PowerDevil {
-namespace BundledActions {
-
-WirelessPowerSavingConfig::WirelessPowerSavingConfig(QObject *parent, const QVariantList& )
- : ActionConfig(parent)
- , m_btCombobox(nullptr)
- , m_wifiCombobox(nullptr)
- , m_wwanCombobox(nullptr)
-{
-
-}
-
-WirelessPowerSavingConfig::~WirelessPowerSavingConfig()
-{
-
-}
-
-void WirelessPowerSavingConfig::save()
-{
- configGroup().writeEntry("wifiOption", m_wifiCombobox->itemData(m_wifiCombobox->currentIndex()).toUInt());
- configGroup().writeEntry("wwanOption", m_wwanCombobox->itemData(m_wwanCombobox->currentIndex()).toUInt());
- configGroup().writeEntry("btOption", m_btCombobox->itemData(m_btCombobox->currentIndex()).toUInt());
-}
-
-void WirelessPowerSavingConfig::load()
-{
- configGroup().config()->reparseConfiguration();
-
- const uint wifiOptionType = configGroup().readEntry("wifiOption", 0);
- const uint wwanOptionType = configGroup().readEntry("wwanOption", 0);
- const uint btOptionType = configGroup().readEntry("btOption", 0);
-
- m_wifiCombobox->setCurrentIndex(m_wifiCombobox->findData(wifiOptionType));
- m_wwanCombobox->setCurrentIndex(m_wwanCombobox->findData(wwanOptionType));
- m_btCombobox->setCurrentIndex(m_btCombobox->findData(btOptionType));
-}
-
-QList< QPair< QString, QWidget* > > WirelessPowerSavingConfig::buildUi()
-{
- m_wifiCombobox = new QComboBox();
- m_wifiCombobox->addItem(i18n("Leave unchanged"), (uint)WirelessPowerSaving::NoAction);
- m_wifiCombobox->addItem(i18n("Turn off"), (uint)WirelessPowerSaving::TurnOff);
- m_wifiCombobox->addItem(i18n("Turn on"), (uint)WirelessPowerSaving::TurnOn);
-
- m_wwanCombobox = new QComboBox();
- m_wwanCombobox->addItem(i18n("Leave unchanged"), (uint)WirelessPowerSaving::NoAction);
- m_wwanCombobox->addItem(i18n("Turn off"), (uint)WirelessPowerSaving::TurnOff);
- m_wwanCombobox->addItem(i18n("Turn on"), (uint)WirelessPowerSaving::TurnOn);
-
- m_btCombobox = new QComboBox();
- m_btCombobox->addItem(i18n("Leave unchanged"), (uint)WirelessPowerSaving::NoAction);
- m_btCombobox->addItem(i18n("Turn off"), (uint)WirelessPowerSaving::TurnOff);
- m_btCombobox->addItem(i18n("Turn on"), (uint)WirelessPowerSaving::TurnOn);
-
- // unified width for the comboboxes
- int comboBoxMaxWidth = 300;
- comboBoxMaxWidth = qMax(comboBoxMaxWidth, m_wifiCombobox->sizeHint().width());
- m_wifiCombobox->setMinimumWidth(300);
- m_wifiCombobox->setMaximumWidth(comboBoxMaxWidth);
- m_wwanCombobox->setMinimumWidth(300);
- m_wwanCombobox->setMaximumWidth(comboBoxMaxWidth);
- m_btCombobox->setMinimumWidth(300);
- m_btCombobox->setMaximumWidth(comboBoxMaxWidth);
-
- // Disable comboboxes for actions which are not allowed
- static NMStringMap permissions = NetworkManager::permissions();
- for (auto it = permissions.constBegin(); it != permissions.constEnd(); ++it) {
- if (it.key() == QLatin1String("org.freedesktop.NetworkManager.enable-disable-wifi")) {
- m_wifiCombobox->setEnabled(it.value() == QLatin1String("yes"));
- } else if (it.key() == QLatin1String("org.freedesktop.NetworkManager.enable-disable-wwan")) {
- m_wwanCombobox->setEnabled(it.value() == QLatin1String("yes"));
- }
- }
-
- QList< QPair< QString, QWidget* > > retlist;
- retlist.append(qMakePair< QString, QWidget* >(i18n("Wi-Fi"), m_wifiCombobox));
- retlist.append(qMakePair< QString, QWidget* >(i18n("Mobile broadband"), m_wwanCombobox));
- retlist.append(qMakePair< QString, QWidget* >(i18n("Bluetooth"), m_btCombobox));
-
- connect(m_wifiCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged);
- connect(m_wwanCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged);
- connect(m_btCombobox, static_cast(&QComboBox::currentIndexChanged), this, &WirelessPowerSavingConfig::setChanged);
-
- return retlist;
-}
-
-}
-}
-
-#include "wirelesspowersavingconfig.moc"
diff --git a/daemon/actions/bundled/wirelesspowersavingconfig.h b/daemon/actions/bundled/wirelesspowersavingconfig.h
deleted file mode 100644
index 0f059286..00000000
--- a/daemon/actions/bundled/wirelesspowersavingconfig.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2016 by Jan Grulich *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
- ***************************************************************************/
-
-
-#ifndef POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVINGCONFIG_H
-#define POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVINGCONFIG_H
-
-#include
-
-class QComboBox;
-
-namespace PowerDevil {
-namespace BundledActions {
-
-class WirelessPowerSavingConfig : public PowerDevil::ActionConfig
-{
- Q_OBJECT
- Q_DISABLE_COPY(WirelessPowerSavingConfig)
-
-public:
- WirelessPowerSavingConfig(QObject* parent, const QVariantList&);
- ~WirelessPowerSavingConfig() override;
-
- void save() override;
- void load() override;
- QList< QPair< QString, QWidget* > > buildUi() override;
-
-private:
- QComboBox *m_btCombobox;
- QComboBox *m_wifiCombobox;
- QComboBox *m_wwanCombobox;
-};
-
-}
-}
-
-#endif // POWERDEVIL_BUNDLEDACTIONS_WIRELESSPOWERSAVINGCONFIG_H
diff --git a/daemon/config-powerdevil.h.cmake b/daemon/config-powerdevil.h.cmake
index 6b7da059..444a49cc 100644
--- a/daemon/config-powerdevil.h.cmake
+++ b/daemon/config-powerdevil.h.cmake
@@ -1,4 +1 @@
#cmakedefine01 HAVE_XCB
-
-/* Define to 1 if you have NetworkManagerQt and BluezQt libs. */
-#cmakedefine01 HAVE_WIRELESS_SUPPORT
diff --git a/doc/kcm/index.docbook b/doc/kcm/index.docbook
index c7d8ead6..8b529935 100644
--- a/doc/kcm/index.docbook
+++ b/doc/kcm/index.docbook
@@ -105,13 +105,6 @@ or after a given amount of time.
-Wireless power saving
-
-Activate this option to set individual actions for Wi-Fi, Mobile broadband or Bluetooth connections.
-
-
-
-
From bugzilla_noreply at kde.org Mon Apr 10 17:34:01 2023
From: bugzilla_noreply at kde.org (postix)
Date: Mon, 10 Apr 2023 16:34:01 +0000
Subject: [khelpcenter] [Bug 450920] Breeze dark: Black font of error "Could
not find filename ..." on dark back ground
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=450920
postix changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REPORTED |RESOLVED
Resolution|--- |WORKSFORME
--
You are receiving this mail because:
You are the assignee for the bug.
From null at kde.org Fri Apr 14 23:25:10 2023
From: null at kde.org (Nicolas Fella)
Date: Fri, 14 Apr 2023 22:25:10 +0000 (UTC)
Subject: =?utf-8?q?=5Bplasma/kwin=5D_/=3A_Add_option_to_do_nothing_when_activating_window_on_another_desktop?=
Message-ID: <20230414222510.01F971240626@leptone.kde.org>
Git commit 8c9c45b8f101f1d90b3084530f9e463a2b5915ab by Nicolas Fella.
Committed on 14/04/2023 at 19:06.
Pushed by nicolasfella into branch 'master'.
Add option to do nothing when activating window on another desktop
Some users prefer this over the existing options. It e.g. allows to open
a bunch of links and only then switch to the browser on a different desktop
BUG: 464283
M +12 -0 doc/windowbehaviour/index.docbook
M +2 -0 src/activation.cpp
M +5 -0 src/kcms/options/advanced.ui
M +1 -0 src/kwin.kcfg
M +2 -1 src/options.h
https://invent.kde.org/plasma/kwin/commit/8c9c45b8f101f1d90b3084530f9e463a2b5915ab
diff --git a/doc/windowbehaviour/index.docbook b/doc/windowbehaviour/index.docbook
index 18b5e8ce77..9b7b7f5742 100644
--- a/doc/windowbehaviour/index.docbook
+++ b/doc/windowbehaviour/index.docbook
@@ -1190,6 +1190,18 @@ Choose this option if you would like windows to always open on the current Virtu
+
+Do nothing
+
+
+The window stays on the desktop it currently is and the current desktop doesn't change.
+
+
+Choose this option if you would like to keep the windows and desktops as they are.
+
+
+
+
diff --git a/src/activation.cpp b/src/activation.cpp
index 20e0e5decd..8b273cf426 100644
--- a/src/activation.cpp
+++ b/src/activation.cpp
@@ -296,6 +296,8 @@ void Workspace::activateWindow(Window *window, bool force)
case Options::ActivationDesktopPolicy::BringToCurrentDesktop:
window->enterDesktop(VirtualDesktopManager::self()->currentDesktop());
break;
+ case Options::ActivationDesktopPolicy::DoNothing:
+ break;
}
--block_focus;
}
diff --git a/src/kcms/options/advanced.ui b/src/kcms/options/advanced.ui
index ecf3afbcbc..9167397947 100644
--- a/src/kcms/options/advanced.ui
+++ b/src/kcms/options/advanced.ui
@@ -169,6 +169,11 @@
Bring window to current Virtual Desktop
+
+
+ Do nothing
+
+
diff --git a/src/kwin.kcfg b/src/kwin.kcfg
index 7b9190633a..46bac99242 100644
--- a/src/kwin.kcfg
+++ b/src/kwin.kcfg
@@ -136,6 +136,7 @@
+ KWin::Options::ActivationDesktopPolicy::SwitchToOtherDesktop
diff --git a/src/options.h b/src/options.h
index 78730a7b79..a78255ce08 100644
--- a/src/options.h
+++ b/src/options.h
@@ -360,7 +360,8 @@ public:
enum ActivationDesktopPolicy {
SwitchToOtherDesktop,
- BringToCurrentDesktop
+ BringToCurrentDesktop,
+ DoNothing,
};
Q_ENUM(ActivationDesktopPolicy)
From null at kde.org Mon Apr 17 13:06:49 2023
From: null at kde.org (Dag Andersen)
Date: Mon, 17 Apr 2023 12:06:49 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/calligra=5D_/=3A_Fix_typos_found_in_misc=2E_directories?=
Message-ID: <20230417120649.742541240624@leptone.kde.org>
Git commit e2f272dbe80aae8a12f4f86ca7d9fd5d2cd67503 by Dag Andersen.
Committed on 17/04/2023 at 12:04.
Pushed by danders into branch 'master'.
Fix typos found in misc. directories
On behalf of:
Author: luz paz
Date: Sat Dec 4 17:44:43 2021 -0500
Fix typos found in misc. directories
Found via `codespell -q 3 -S *.svg,*.desktop,*.xpm,./plugins/textediting/autocorrection,./plugins/textediting/thesaurus -L ba,blok,childs,currenty,fo,libray,pard,parm,parms,readed,ser,som,uptodate,vektor,vertexes`
M +4 -4 CMakeLists.txt
M +1 -1 OBSOLETE.TXT
M +4 -4 README.PACKAGERS
M +1 -1 braindump/plugins/stateshape/StateShape.h
M +1 -1 braindump/plugins/webshape/WebShape.h
M +1 -1 braindump/src/MainWindow.cpp
M +1 -1 cmake/modules/CalligraProductSetMacros.cmake
M +1 -1 cmake/modules/MacroBoolTo01.cmake
M +1 -1 cmake/productsets/README
M +1 -1 components/ViewController.h
M +1 -1 devtools/cstester/scripts/checkdocs.sh
M +3 -3 devtools/scripts/OpenDocument-schema-v1.0-os.rng
M +1 -1 devtools/scripts/massTester.pl
M +1 -1 devtools/slidecompare/CMakeLists.txt
M +3 -3 doc/api/gendocs.pl
M +1 -1 doc/sheets/commands.docbook
M +2 -2 doc/stage/great-presentations.docbook
M +2 -2 doc/stage/menus.docbook
M +1 -1 filters/karbon/xaml/xamlexport.cc
M +1 -1 filters/sheets/gnumeric/gnumericimport.cc
M +1 -1 gemini/cloud/dropbox/3rdparty/networkcontroller.cc
M +1 -1 gemini/qml/components/PageStack.qml
M +1 -1 gemini/qml/welcomepages/cloud/git/RepositoryContent.qml
M +1 -1 interfaces/KoGenericRegistry.h
M +4 -4 karbon/CHANGES
M +1 -1 karbon/plugins/roundcorners/RoundCornersCommand.cpp
M +1 -1 karbon/ui/KarbonView.cpp
M +1 -1 karbon/ui/KarbonView.h
M +1 -1 libs/widgets/KoResourceServer.h
M +1 -1 sheets/ui/actions/dialogs/FormulaDialog.cpp
M +2 -2 windows/calligra_installer/README.txt
M +1 -1 windows/calligra_installer/en-us.wxl
https://invent.kde.org/office/calligra/commit/e2f272dbe80aae8a12f4f86ca7d9fd5d2cd67503
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7cb06fecdd8..c3a438f0efc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,7 @@ endif()
# ensure out-of-source build
string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" isBuildInSource)
if(isBuildInSource)
- message(FATAL_ERROR "Compiling Calligra inside the source folder is not possible.\nPlease refer to the build instruction: https://community.kde.org/Calligra/Building/3\nYou need to clean up the source folder from all build artifacts just created, otherwise further building attempts will fail again: With a git repo, you can use \"git clean -df\" in the toplevel source folder (attention! will remove also uncommited changes to the source code). With sources from a file bundle (like a zip file), delete the source folder and unbundle the sources again.")
+ message(FATAL_ERROR "Compiling Calligra inside the source folder is not possible.\nPlease refer to the build instruction: https://community.kde.org/Calligra/Building/3\nYou need to clean up the source folder from all build artifacts just created, otherwise further building attempts will fail again: With a git repo, you can use \"git clean -df\" in the toplevel source folder (attention! will remove also uncommitted changes to the source code). With sources from a file bundle (like a zip file), delete the source folder and unbundle the sources again.")
endif()
######################
@@ -459,7 +459,7 @@ endif()
##
## Test for marble
##
-# Temporary fix to avoid looking for Marble unneccessary
+# Temporary fix to avoid looking for Marble unnecessarily
# Its only used in RDF so until soprano is ported there is no use for Marble
if (Soprano_FOUND)
macro_optional_find_package(Marble CONFIG)
@@ -594,7 +594,7 @@ endif()
##
-## Test endianess
+## Test endianness
##
include (TestBigEndian)
test_big_endian(CMAKE_WORDS_BIGENDIAN)
@@ -1016,7 +1016,7 @@ calligra_drop_products_on_old_flag(words PART_WORDS APP_WORDS)
#### Temporarily broken products ####
#############################################
-# If a product does not build due to some temporary brokeness disable it here,
+# If a product does not build due to some temporary brokenness disable it here,
# by calling calligra_disable_product with the product id and the reason,
# e.g.:
# calligra_disable_product(APP_FOO "isn't buildable at the moment")
diff --git a/OBSOLETE.TXT b/OBSOLETE.TXT
index eb096dbc156..b4ccaaf7011 100644
--- a/OBSOLETE.TXT
+++ b/OBSOLETE.TXT
@@ -103,7 +103,7 @@ Filters:
parts of KDE.
googledocs -- worked for a while, but then bitrotted when the switch from KPart
to KoPart was done, as this plugin was based on KPart::Plugin architecture, and
- noone cared for more than a year [D]
+ no one cared for more than a year [D]
Tools:
diff --git a/README.PACKAGERS b/README.PACKAGERS
index 633e028d7a4..38f57d837f6 100644
--- a/README.PACKAGERS
+++ b/README.PACKAGERS
@@ -70,7 +70,7 @@ be packaged separately.
If Calligra is build with support for RDF enabled, it is STRONGLY RECOMMENDED to
separate the semantic item plugins coming from "plugins/semanticitems" into
their own package. That package should not be an automatic dependency on any
-other Calligra package, but only installed explicitely by the user. Reason are
+other Calligra package, but only installed explicitly by the user. Reason are
the external dependencies with these plugins, especially kdepimlibs.
So if e.g. a user just installs the Braindump package, this should not pull in all
@@ -104,9 +104,9 @@ kowidgets
4. IMPORTANT On using CPU vector capabilities in Calligra Libs
========================================================================
-IN BRIEF: 1) Intall Vc library [1] and don't forget to activate
+IN BRIEF: 1) Install Vc library [1] and don't forget to activate
PACKAGERS_BUILD=ON option when building a package.
- 2) Vc libary should be present on the building system only,
+ 2) Vc library should be present on the building system only,
it need not be installed on all the client systems.
Pigment can make use of the vector capabilities of the
@@ -189,7 +189,7 @@ runtime dependency on the respective filters.
6. Adding unmaintained applications/modules
===========================================
-A few applications and modules do not have maintainers. So there is noone
+A few applications and modules do not have maintainers. So there is no one
to handle bugs experienced by users or discuss new features/improvements.
Still those applications & modules are usable for certain needs. If you want
diff --git a/braindump/plugins/stateshape/StateShape.h b/braindump/plugins/stateshape/StateShape.h
index d52e079de0e..39055b6eebd 100644
--- a/braindump/plugins/stateshape/StateShape.h
+++ b/braindump/plugins/stateshape/StateShape.h
@@ -30,7 +30,7 @@ public:
StateShape();
~StateShape();
- // absolutly necessary:
+ // absolutely necessary:
void paint(QPainter &painter,
const KoViewConverter &converter, KoShapePaintingContext &paintcontext);
virtual void saveOdf(KoShapeSavingContext & context) const;
diff --git a/braindump/plugins/webshape/WebShape.h b/braindump/plugins/webshape/WebShape.h
index 732d60bbeb4..414408f454d 100644
--- a/braindump/plugins/webshape/WebShape.h
+++ b/braindump/plugins/webshape/WebShape.h
@@ -34,7 +34,7 @@ public:
WebShape();
~WebShape();
- // absolutly necessary:
+ // absolutely necessary:
void paint(QPainter &painter,
const KoViewConverter &converter, KoShapePaintingContext &paintcontext);
virtual void saveOdf(KoShapeSavingContext & context) const;
diff --git a/braindump/src/MainWindow.cpp b/braindump/src/MainWindow.cpp
index 5f8bad160f2..ff0f9637a9e 100644
--- a/braindump/src/MainWindow.cpp
+++ b/braindump/src/MainWindow.cpp
@@ -193,7 +193,7 @@ DockerManager* MainWindow::dockerManager()
void MainWindow::activateView(View* view)
{
Q_ASSERT(factory());
- // Desactivate previous view
+ // Deactivate previous view
if(m_activeView) {
factory()->removeClient(m_activeView);
foreach(StatusBarItem * item, m_statusBarItems[m_activeView]) {
diff --git a/cmake/modules/CalligraProductSetMacros.cmake b/cmake/modules/CalligraProductSetMacros.cmake
index 46e329de2f5..46162ee865b 100644
--- a/cmake/modules/CalligraProductSetMacros.cmake
+++ b/cmake/modules/CalligraProductSetMacros.cmake
@@ -143,7 +143,7 @@ macro(calligra_set_productset _productset_string)
set(_productset_list "")
# _product_id could be a product, feature or product set (predefined or from file)
foreach(_product_id ${_productset_ids})
- # be gracefull and compare the productset id case insensitive
+ # be graceful and compare the productset id case insensitive
string(TOUPPER "${_product_id}" _uppercase_product_id)
if(_uppercase_product_id STREQUAL "ALL")
diff --git a/cmake/modules/MacroBoolTo01.cmake b/cmake/modules/MacroBoolTo01.cmake
index ddcb908d723..f9ae32e8851 100644
--- a/cmake/modules/MacroBoolTo01.cmake
+++ b/cmake/modules/MacroBoolTo01.cmake
@@ -1,6 +1,6 @@
# MACRO_BOOL_TO_01( VAR RESULT0 ... RESULTN )
# This macro evaluates its first argument
-# and sets all the given vaiables either to 0 or 1
+# and sets all the given variables either to 0 or 1
# depending on the value of the first one
# SPDX-FileCopyrightText: 2006 Alexander Neundorf
diff --git a/cmake/productsets/README b/cmake/productsets/README
index 851fcebf157..39458720177 100644
--- a/cmake/productsets/README
+++ b/cmake/productsets/README
@@ -1,4 +1,4 @@
This directory stores additional productsets.
Please read the explanation in the toplevel file "CalligraProducts.cmake",
-secion "How to add another productset?" at the end.
+section "How to add another productset?" at the end.
diff --git a/components/ViewController.h b/components/ViewController.h
index d1c213e56fe..7a190b51e89 100644
--- a/components/ViewController.h
+++ b/components/ViewController.h
@@ -265,6 +265,6 @@ private:
};
} // Namespace Components
-} // Namepsace Calligra
+} // Namespace Calligra
#endif // CALLIGRA_COMPONENTS_VIEWCONTROLLER_H
diff --git a/devtools/cstester/scripts/checkdocs.sh b/devtools/cstester/scripts/checkdocs.sh
index cb5703a325b..42cbc4e3c92 100755
--- a/devtools/cstester/scripts/checkdocs.sh
+++ b/devtools/cstester/scripts/checkdocs.sh
@@ -1,7 +1,7 @@
#!/bin/bash
#
# script to check all documents in the current directory and create log of the failed ones .
-# the logile will be written to LOG="../error-out.log" where out is replaced with the basename of the used out directory
+# the logfile will be written to LOG="../error-out.log" where out is replaced with the basename of the used out directory
LOG="../error-out.log"
if [ -z "$1" ]
diff --git a/devtools/scripts/OpenDocument-schema-v1.0-os.rng b/devtools/scripts/OpenDocument-schema-v1.0-os.rng
index cf4ee51741a..fc01ca0d30c 100644
--- a/devtools/scripts/OpenDocument-schema-v1.0-os.rng
+++ b/devtools/scripts/OpenDocument-schema-v1.0-os.rng
@@ -12289,7 +12289,7 @@
left
- rigth
+ rightinnerouter
@@ -14009,7 +14009,7 @@
none
-
+
@@ -16412,7 +16412,7 @@
luminance
- intesity
+ intensitycolor
diff --git a/devtools/scripts/massTester.pl b/devtools/scripts/massTester.pl
index e3504c8cbc1..d2efc07b6a2 100755
--- a/devtools/scripts/massTester.pl
+++ b/devtools/scripts/massTester.pl
@@ -1,7 +1,7 @@
#! /usr/bin/perl -w
use strict;
-# This script runs a commnand on a list of input arguments that are supplied on
+# This script runs a command on a list of input arguments that are supplied on
# the standard input.
# Graphical output is handled in a Xephyr window.
# Output of the command is given in a file results.txt
diff --git a/devtools/slidecompare/CMakeLists.txt b/devtools/slidecompare/CMakeLists.txt
index 329e9b1849f..cacb2af4942 100644
--- a/devtools/slidecompare/CMakeLists.txt
+++ b/devtools/slidecompare/CMakeLists.txt
@@ -19,6 +19,6 @@ if(OOOSDK_FOUND)
kpresenterslideloader.cpp oothread.cpp ${MOCFILES})
target_link_libraries(slidecompare ${OOOSDK_LIBRARIES} ${QT_LIBRARIES}
Qt5::OpenGL komain kopageapp ppttoodplib)
- # it would be nice if this explicit depencency was not needed
+ # it would be nice if this explicit dependency was not needed
add_dependencies(slidecompare _oooheaders)
endif()
diff --git a/doc/api/gendocs.pl b/doc/api/gendocs.pl
index ea90427b1e4..a9f0ed03225 100755
--- a/doc/api/gendocs.pl
+++ b/doc/api/gendocs.pl
@@ -1,7 +1,7 @@
#!/usr/bin/perl
# SPDX-FileCopyrightText: 2006 Thomas Zander
# this script generates dox based on the availability of a Mainpage.dox file.
-# whereever there is one, doxygen is started.
+# wherever there is one, doxygen is started.
#set basedir relative to ours.
$rootdir=`pwd`;
@@ -12,7 +12,7 @@ if(! -d $basedir) {
exit 1;
}
-# used in the tag decleration
+# used in the tag declaration
$remoteDocs_kdelibs="$rootdir/../kdelibs/doc/api";
$remoteDocs_qt="$rootdir/../qt-copy/doc/api";
@@ -27,7 +27,7 @@ if($#ARGV >= 0) {
$ok=1;
}
elsif($ARGV[$i] eq "--remote") {
- print "Using remote url for browing\n";
+ print "Using remote url for browsing\n";
$remoteDocs_kdelibs="http://www.calligra.org/developer/kdelibs-api/";
$remoteDocs_qt="http://www.calligra.org/developer/qt-api/";
$ok=1;
diff --git a/doc/sheets/commands.docbook b/doc/sheets/commands.docbook
index 25b0ea3e9ae..9528770036a 100644
--- a/doc/sheets/commands.docbook
+++ b/doc/sheets/commands.docbook
@@ -690,7 +690,7 @@ To manage styles use FormatAutoFormat...
-Autoformat the selected cells: a dialog let you choose betwen two proposed formats.
+Autoformat the selected cells: a dialog let you choose between two proposed formats.
diff --git a/doc/stage/great-presentations.docbook b/doc/stage/great-presentations.docbook
index 789af59f0ce..38888370c09 100644
--- a/doc/stage/great-presentations.docbook
+++ b/doc/stage/great-presentations.docbook
@@ -87,7 +87,7 @@ skill that needs practice. If you are using an Overhead projector, you
can use transparent overlay slides and a pen over the top of your
computer generated ones.
-When you are doing the presentation do not accidently look into
+When you are doing the presentation do not accidentally look into
the light, it's easy to do. If you are not going to use the machine
for a few minutes, turn it off. Practise to get where you are going
to stand sorted out. Check the room you intend to use for electrical
@@ -101,7 +101,7 @@ equipment fails.I have not said much about the content yet. At present all you
have is a piece of paper with everything you want to say on it. Before
-you make anything, ask youself if their understanding of what you are
+you make anything, ask yourself if their understanding of what you are
saying is going to improved by showing them a picture. Bad
presentations consist of a series of slides full of text. The
presenter then reads the slide to the audience (who have already read
diff --git a/doc/stage/menus.docbook b/doc/stage/menus.docbook
index b6cdcafdf11..e68d49f3435 100644
--- a/doc/stage/menus.docbook
+++ b/doc/stage/menus.docbook
@@ -1397,7 +1397,7 @@ choosing a color/gradient.Text MenuThis menu modifies selected text and provides a few tools familiar from
-word processing applications for your convienience for when you are making
+word processing applications for your convenience for when you are making
presentations with large amounts
of text in them. The Text menu will only effect selected or
highlighted text.
@@ -1795,7 +1795,7 @@ including whether to show the duration on screen, which of the slides
in a presentation to include, and several other global settings.
-
+
" << endl;
*m_defs <<
diff --git a/filters/sheets/gnumeric/gnumericimport.cc b/filters/sheets/gnumeric/gnumericimport.cc
index 454331f7c15..7c1c3cc5574 100644
--- a/filters/sheets/gnumeric/gnumericimport.cc
+++ b/filters/sheets/gnumeric/gnumericimport.cc
@@ -1943,7 +1943,7 @@ KoFilter::ConversionStatus GNUMERICFilter::convert(const QByteArray & from, cons
/* CELL handling STOP */
/* STYLE handling START */
- //Laurent - 2001-12-07 desactivate this code : otherwise we
+ //Laurent - 2001-12-07 deactivate this code : otherwise we
//create 65535*255 cells (Styleregion is define for a area and
//not for cell, so gnumeric define a style as : col start=0 col end=255
//rowstart=0 rowend=255 => we create 255*255 cells
diff --git a/gemini/cloud/dropbox/3rdparty/networkcontroller.cc b/gemini/cloud/dropbox/3rdparty/networkcontroller.cc
index ed762f18884..98d9e0c580e 100644
--- a/gemini/cloud/dropbox/3rdparty/networkcontroller.cc
+++ b/gemini/cloud/dropbox/3rdparty/networkcontroller.cc
@@ -108,7 +108,7 @@ void NetworkController::finished(QNetworkReply *networkreply){
qDebug() << "readAll() body = " << networkreply->readAll();
- QString errorstr("Unknow error!");
+ QString errorstr("Unknown error!");
if (m_state == NetworkController::FILES_FOLDERS || m_state == NetworkController::REQUEST_TOKEN){
if (networkreply->error() == QNetworkReply::AuthenticationRequiredError)
diff --git a/gemini/qml/components/PageStack.qml b/gemini/qml/components/PageStack.qml
index 01496b15f95..d11eb0c05dd 100644
--- a/gemini/qml/components/PageStack.qml
+++ b/gemini/qml/components/PageStack.qml
@@ -263,7 +263,7 @@ Item {
}
}
- // Handles state change depening on transition animation status
+ // Handles state change depending on transition animation status
function setState(newState)
{
if (transitionAnimationRunning)
diff --git a/gemini/qml/welcomepages/cloud/git/RepositoryContent.qml b/gemini/qml/welcomepages/cloud/git/RepositoryContent.qml
index d7aee522391..d6d11aa11d3 100644
--- a/gemini/qml/welcomepages/cloud/git/RepositoryContent.qml
+++ b/gemini/qml/welcomepages/cloud/git/RepositoryContent.qml
@@ -175,7 +175,7 @@ Item {
}
QtControls.Label {
anchors.fill: parent;
- text: "No Documents\n\nPlease add some documents to your reporitory.\n(%1)".arg(docList.model.documentsFolder);
+ text: "No Documents\n\nPlease add some documents to your repository.\n(%1)".arg(docList.model.documentsFolder);
horizontalAlignment: Text.AlignHCenter;
verticalAlignment: Text.AlignVCenter;
visible: docList.count === 0;
diff --git a/interfaces/KoGenericRegistry.h b/interfaces/KoGenericRegistry.h
index a82b43743de..b6fd6cf0a7f 100644
--- a/interfaces/KoGenericRegistry.h
+++ b/interfaces/KoGenericRegistry.h
@@ -19,7 +19,7 @@
*
* Items are mapped by QString as a unique Id.
*
- * Exemple of use:
+ * Example of use:
* @code
* class KoMyClassRegistry : public KoGenericRegistry {
* public:
diff --git a/karbon/CHANGES b/karbon/CHANGES
index c818d966ac1..4d1fa0aada7 100644
--- a/karbon/CHANGES
+++ b/karbon/CHANGES
@@ -47,8 +47,8 @@ Changes after 1.4.1 (available from 1.4.2):
- Object/layer listview is now better synced to the documents object hierarchy when deleting or grouping/ungrouping objects
- Enabled multi-selection within the layer listview
- Object/layer listview items get automatically selected when selecting their corresponding object with the selection tool
-- Visiblity and locking states are now set correctly from the layer listview
-- When embeded zoom the drawing so that it's completely visible
+- Visibility and locking states are now set correctly from the layer listview
+- When embedded zoom the drawing so that it's completely visible
- Make this statusbar text label stretchable, so the rest of the labels won't jump around
- Filter SVG: Added reading of group names
- Filter SVG: Fix percentage loading error
@@ -89,7 +89,7 @@ Changes after 1.4 (available from 1.4.1):
Changes after 1.3 XMas preview:
- Make sure we draw non-empty paths, otherwise we get extra, unwanted lines using non-AA
painter and in print preview.
-- Hack to fix bug #70644 for karbon. However note this doesnt fix the total bug, just
+- Hack to fix bug #70644 for karbon. However note this doesn't fix the total bug, just
for karbon.
Changes after 1.3 RC1:
@@ -108,7 +108,7 @@ Changes after 1.3 beta 1 :
- zooming fixes
- svg exporting uses document dimension, not dimension of
the active selection
-- new style docker introduced, with dragable cliparts
+- new style docker introduced, with draggable cliparts
- added aspect-ratio keeping way of scaling for select tool
- various ui tweaks, including new icons (Tomislav)
- improved behaviour for strokefill preview widget (Tomislav)
diff --git a/karbon/plugins/roundcorners/RoundCornersCommand.cpp b/karbon/plugins/roundcorners/RoundCornersCommand.cpp
index 2a9e250c99c..043c2390dfa 100644
--- a/karbon/plugins/roundcorners/RoundCornersCommand.cpp
+++ b/karbon/plugins/roundcorners/RoundCornersCommand.cpp
@@ -253,7 +253,7 @@ void RoundCornersCommand::roundPath()
qreal prevSplit = prevLength > m_radius ? prevSeg.paramAtLength(prevLength - m_radius) : 0.5;
QPair prevParts = prevSeg.splitAt(prevSplit);
- // add the remaining part up to the split point of the pervious segment
+ // add the remaining part up to the split point of the previous segment
lastPoint = addSegment(m_path, prevParts.first);
// split the next segment at radius
diff --git a/karbon/ui/KarbonView.cpp b/karbon/ui/KarbonView.cpp
index 770443095e1..f75f165a97d 100644
--- a/karbon/ui/KarbonView.cpp
+++ b/karbon/ui/KarbonView.cpp
@@ -200,7 +200,7 @@ KarbonView::KarbonView(KarbonPart *karbonPart, KarbonDocument* doc, QWidget* par
connect(d->smallPreview, &KarbonSmallStylePreview::fillApplied, this, &KarbonView::applyFillToSelection);
connect(d->smallPreview, &KarbonSmallStylePreview::strokeApplied, this, &KarbonView::applyStrokeToSelection);
addStatusBarItem(d->smallPreview, 0);
- // FIXME: This was not neccessary before refactoring to pageapp, why now?
+ // FIXME: This was not necessary before refactoring to pageapp, why now?
// Also, changing colors of a shape does not update preview
connect(shapeManager(), &KoShapeManager::selectionChanged, d->smallPreview, &KarbonSmallStylePreview::selectionChanged);
diff --git a/karbon/ui/KarbonView.h b/karbon/ui/KarbonView.h
index e543ff9d237..8088113b7fc 100644
--- a/karbon/ui/KarbonView.h
+++ b/karbon/ui/KarbonView.h
@@ -124,7 +124,7 @@ protected Q_SLOTS:
void applyPaletteColor(const KoColor &color);
protected:
- /// Use own configuaration dialog
+ /// Use own configuration dialog
void openConfiguration() override;
void updateReadWrite(bool readwrite) override;
diff --git a/libs/widgets/KoResourceServer.h b/libs/widgets/KoResourceServer.h
index d6fc48661ea..eb99cbbc15c 100644
--- a/libs/widgets/KoResourceServer.h
+++ b/libs/widgets/KoResourceServer.h
@@ -402,7 +402,7 @@ public:
/**
- * Addes an observer to the server
+ * Adds an observer to the server
* @param observer the observer to be added
* @param notifyLoadedResources determines if the observer should be notified about the already loaded resources
*/
diff --git a/sheets/ui/actions/dialogs/FormulaDialog.cpp b/sheets/ui/actions/dialogs/FormulaDialog.cpp
index 7ba039ad50c..ad6139574d4 100644
--- a/sheets/ui/actions/dialogs/FormulaDialog.cpp
+++ b/sheets/ui/actions/dialogs/FormulaDialog.cpp
@@ -278,7 +278,7 @@ void FormulaDialog::setFormula (const QString& formulaName)
void FormulaDialog::slotPressReturn()
{
- //laurent 2001-07-07 desactivate this code
+ //laurent 2001-07-07 deactivate this code
//because Calligra Sheets crash.
//TODO fix it
/*
diff --git a/windows/calligra_installer/README.txt b/windows/calligra_installer/README.txt
index 74a0c848cb6..5929a8d9a28 100644
--- a/windows/calligra_installer/README.txt
+++ b/windows/calligra_installer/README.txt
@@ -18,7 +18,7 @@ parent
+-deps (stores 3rd party dependencies - Visual C++ runtime components for the installer)
+-vcredist
+-DLLs
- +-MergeModules (stores .msm files distrubuted with Visual Studio)
+ +-MergeModules (stores .msm files distributed with Visual Studio)
+-wix36 (install wix 3.6 here)
You will require the latest copy of the Wix toolset, 3.6 beta.
@@ -50,7 +50,7 @@ You will need to run the following within a working KDE for Windows environment.
From the c2winstaller directory, call:
env
-This sets most of the required environment variables, using defaults unless you have overriden these previously.
+This sets most of the required environment variables, using defaults unless you have overridden these previously.
You will need to set CALLIGRA_INST if you intend to package
Now you can run:
diff --git a/windows/calligra_installer/en-us.wxl b/windows/calligra_installer/en-us.wxl
index b60c9187602..08aa41a8ad1 100644
--- a/windows/calligra_installer/en-us.wxl
+++ b/windows/calligra_installer/en-us.wxl
@@ -17,7 +17,7 @@
Calligra Stage [C2WINSTALL_VERSIONSTRING]Karbon [C2WINSTALL_VERSIONSTRING]
-
+
OpenODF Text Document
From null at kde.org Fri Apr 21 02:45:25 2023
From: null at kde.org (Robby Stephenson)
Date: Fri, 21 Apr 2023 01:45:25 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/tellico=5D_/=3A_Add_comic_book_to_Colnect_data_source?=
Message-ID: <20230421014525.A943F12400CD@leptone.kde.org>
Git commit 9047c96e620cf7b174fc6c38eb05a7a5370bce19 by Robby Stephenson.
Committed on 21/04/2023 at 01:45.
Pushed by rstephenson into branch 'master'.
Add comic book to Colnect data source
M +4 -0 ChangeLog
M +1 -1 doc/configuration.docbook
M +98 -20 src/fetch/colnectfetcher.cpp
M +30 -0 src/tests/colnectfetchertest.cpp
M +1 -0 src/tests/colnectfetchertest.h
https://invent.kde.org/office/tellico/commit/9047c96e620cf7b174fc6c38eb05a7a5370bce19
diff --git a/ChangeLog b/ChangeLog
index 7a65bc01a..8b9cd433b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2023-04-20 Robby Stephenson
+
+ * Updated Colnect data source to include comic book collections.
+
2023-04-19 Robby Stephenson
* Updated SRU and z39.50 server info for Library of Congress.
diff --git a/doc/configuration.docbook b/doc/configuration.docbook
index 9dbf8f693..d2dff5ba5 100644
--- a/doc/configuration.docbook
+++ b/doc/configuration.docbook
@@ -464,7 +464,7 @@ The Internet Movie Database provides in
ColnectColnect is an online community for collectibles providing personal collection management.
-&tellico; can search Colnect for coin and stamp information.
+&tellico; can search Colnect for coin, stamp, and comic book information.
diff --git a/src/fetch/colnectfetcher.cpp b/src/fetch/colnectfetcher.cpp
index 5c95dd9ce..e2d6c5979 100644
--- a/src/fetch/colnectfetcher.cpp
+++ b/src/fetch/colnectfetcher.cpp
@@ -25,6 +25,7 @@
#include "colnectfetcher.h"
#include "../collections/coincollection.h"
#include "../collections/stampcollection.h"
+#include "../collections/comicbookcollection.h"
#include "../images/imagefactory.h"
#include "../gui/combobox.h"
#include "../utils/guiproxy.h"
@@ -83,7 +84,9 @@ bool ColnectFetcher::canSearch(Fetch::FetchKey k) const {
}
bool ColnectFetcher::canFetch(int type) const {
- return type == Data::Collection::Coin || type == Data::Collection::Stamp;
+ return type == Data::Collection::Coin
+ || type == Data::Collection::Stamp
+ || type == Data::Collection::ComicBook;
}
void ColnectFetcher::readConfigHook(const KConfigGroup& config_) {
@@ -109,6 +112,9 @@ void ColnectFetcher::search() {
case Data::Collection::Stamp:
m_category = QStringLiteral("stamps");
break;
+ case Data::Collection::ComicBook:
+ m_category = QStringLiteral("comics");
+ break;
default:
myWarning() << "Colnect category type not available for" << collectionType();
stop();
@@ -240,6 +246,7 @@ Tellico::Data::EntryPtr ColnectFetcher::fetchEntryHook(uint uid_) {
loadImage(entry, QStringLiteral("obverse"));
loadImage(entry, QStringLiteral("reverse"));
loadImage(entry, QStringLiteral("image")); // stamp image
+ loadImage(entry, QStringLiteral("cover"));
// don't want to include id
entry->setField(QStringLiteral("colnect-id"), QString());
@@ -302,10 +309,16 @@ void ColnectFetcher::slotComplete(KJob* job_) {
m_hasMoreResults = false; // for now, no continued searches
Data::CollPtr coll;
- if(collectionType() == Data::Collection::Coin) {
- coll = new Data::CoinCollection(true);
- } else {
- coll = new Data::StampCollection(true);
+ switch(collectionType()) {
+ case Data::Collection::Coin:
+ coll = new Data::CoinCollection(true);
+ break;
+ case Data::Collection::Stamp:
+ coll = new Data::StampCollection(true);
+ break;
+ case Data::Collection::ComicBook:
+ coll = new Data::ComicBookCollection(true);
+ break;
}
// placeholder for colnect id, to be removed later
Data::FieldPtr f1(new Data::Field(QStringLiteral("colnect-id"), QString()));
@@ -375,7 +388,13 @@ void ColnectFetcher::slotComplete(KJob* job_) {
if(optionalFields().contains(desc)) {
entry->setField(desc, values.last().toString());
}
- entry->setField(QStringLiteral("year"), m_year);
+ if(!m_year.isEmpty()) {
+ if(collectionType() == Data::Collection::ComicBook) {
+ entry->setField(QStringLiteral("pub_year"), m_year);
+ } else {
+ entry->setField(QStringLiteral("year"), m_year);
+ }
+ }
FetchResult* r = new FetchResult(this, entry);
m_entries.insert(r->uid, entry);
@@ -388,8 +407,8 @@ void ColnectFetcher::slotComplete(KJob* job_) {
void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& resultList_) {
if(m_colnectFields.isEmpty()) {
readDataList();
- // set minimum size of list here
- if(m_colnectFields.count() < 26) {
+ // set minimum size of list here (comics are 24)
+ if(m_colnectFields.count() < 24) {
return;
}
}
@@ -398,11 +417,29 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
return;
}
+#if 0
+ auto i = m_colnectFields.constBegin();
+ while(i != m_colnectFields.constEnd()) {
+ myDebug() << i.key() << ": " << resultList_.at(i.value());
+ ++i;
+ }
+#endif
+
+ int idx = m_colnectFields.value(QStringLiteral("Series"), -1);
+ static const QString series(QStringLiteral("series"));
+ if(idx > -1 && optionalFields().contains(series)) {
+ entry_->setField(series, resultList_.at(idx).toString());
+ }
+
// lookup the field name for the list index
- int idx = m_colnectFields.value(QStringLiteral("Issued on"), -1);
+ idx = m_colnectFields.value(QStringLiteral("Issued on"), -1);
// the year may have already been set in the query term
if(m_year.isEmpty() && idx > -1) {
- entry_->setField(QStringLiteral("year"), resultList_.at(idx).toString());
+ if(collectionType() == Data::Collection::ComicBook) {
+ entry_->setField(QStringLiteral("pub_year"), resultList_.at(idx).toString().left(4));
+ } else {
+ entry_->setField(QStringLiteral("year"), resultList_.at(idx).toString().left(4));
+ }
}
idx = m_colnectFields.value(QStringLiteral("Country"), -1);
@@ -411,12 +448,12 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
}
idx = m_colnectFields.value(QStringLiteral("Gum"), -1);
- if(idx > -1) {
+ if(idx > -1 && collectionType() == Data::Collection::Stamp) {
entry_->setField(QStringLiteral("gummed"), resultList_.at(idx).toString());
}
idx = m_colnectFields.value(QStringLiteral("Colors"), -1);
- if(idx > -1) {
+ if(idx > -1 && collectionType() == Data::Collection::Stamp) {
int colorId = resultList_.at(idx).toInt();
if(colorId > 0) {
if(m_stampColors.isEmpty()) {
@@ -427,7 +464,7 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
}
idx = m_colnectFields.value(QStringLiteral("Currency"), -1);
- if(idx > -1) {
+ if(idx > -1 && collectionType() != Data::Collection::ComicBook) {
entry_->setField(QStringLiteral("currency"), resultList_.at(idx).toString());
idx = m_colnectFields.value(QStringLiteral("FaceValue"), -1);
if(idx > -1) {
@@ -441,12 +478,6 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
}
}
- idx = m_colnectFields.value(QStringLiteral("Series"), -1);
- static const QString series(QStringLiteral("series"));
- if(idx > -1 && optionalFields().contains(series)) {
- entry_->setField(series, resultList_.at(idx).toString());
- }
-
idx = m_colnectFields.value(QStringLiteral("Known mintage"), -1);
static const QString mintage(QStringLiteral("mintage"));
if(idx > -1 && optionalFields().contains(mintage)) {
@@ -508,6 +539,10 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
entry_->setField(QStringLiteral("image"),
imageUrl(resultList_.at(0).toString(),
resultList_.at(idx).toString()));
+ } else if(collectionType() == Data::Collection::ComicBook) {
+ entry_->setField(QStringLiteral("cover"),
+ imageUrl(resultList_.at(0).toString(),
+ resultList_.at(idx).toString()));
}
}
@@ -517,6 +552,49 @@ void ColnectFetcher::populateEntry(Data::EntryPtr entry_, const QVariantList& re
imageUrl(resultList_.at(0).toString(),
resultList_.at(idx).toString()));
}
+
+ // only comic book below here
+ if(collectionType() != Data::Collection::ComicBook) return;
+
+ idx = m_colnectFields.value(QStringLiteral("Name"), -1);
+ if(idx > -1 && collectionType() == Data::Collection::ComicBook) {
+ entry_->setField(QStringLiteral("title"), resultList_.at(idx).toString());
+ }
+
+ static const QRegularExpression spaceCommaRx(QLatin1String("\\s*,\\s*"));
+ idx = m_colnectFields.value(QStringLiteral("Writer"), -1);
+ if(idx > -1) {
+ QString writer = resultList_.at(idx).toString();
+ writer.replace(spaceCommaRx, FieldFormat::delimiterString());
+ entry_->setField(QStringLiteral("writer"), writer);
+ }
+
+ idx = m_colnectFields.value(QStringLiteral("CoverArtist"), -1);
+ if(idx > -1) {
+ QString artist = resultList_.at(idx).toString();
+ artist.replace(spaceCommaRx, FieldFormat::delimiterString());
+ entry_->setField(QStringLiteral("artist"), artist);
+ }
+
+ idx = m_colnectFields.value(QStringLiteral("Publisher"), -1);
+ if(idx > -1) {
+ entry_->setField(QStringLiteral("publisher"), resultList_.at(idx).toString());
+ }
+
+ idx = m_colnectFields.value(QStringLiteral("IssuingNumber"), -1);
+ if(idx > -1) {
+ entry_->setField(QStringLiteral("issue"), resultList_.at(idx).toString());
+ }
+
+ idx = m_colnectFields.value(QStringLiteral("Edition"), -1);
+ if(idx > -1) {
+ entry_->setField(QStringLiteral("edition"), resultList_.at(idx).toString());
+ }
+
+ idx = m_colnectFields.value(QStringLiteral("Genre"), -1);
+ if(idx > -1) {
+ entry_->setField(QStringLiteral("genre"), resultList_.at(idx).toString());
+ }
}
void ColnectFetcher::loadImage(Data::EntryPtr entry_, const QString& fieldName_) {
@@ -614,7 +692,7 @@ void ColnectFetcher::readDataList() {
m_colnectFields.insert(resultList.at(i).toString(), i);
// if(i == 5) myDebug() << m_colnectFields;
}
-// myDebug() << "Number of Colnect fields:" << m_colnectFields.count();
+// myDebug() << "Colnect fields:" << m_colnectFields;
}
void ColnectFetcher::readStampColors() {
diff --git a/src/tests/colnectfetchertest.cpp b/src/tests/colnectfetchertest.cpp
index a84cb9a3f..055f01b28 100644
--- a/src/tests/colnectfetchertest.cpp
+++ b/src/tests/colnectfetchertest.cpp
@@ -29,6 +29,7 @@
#include "../fetch/colnectfetcher.h"
#include "../entry.h"
#include "../collections/coincollection.h"
+#include "../collections/comicbookcollection.h"
#include "../collectionfactory.h"
#include "../images/imagefactory.h"
#include "../fieldformat.h"
@@ -46,6 +47,7 @@ ColnectFetcherTest::ColnectFetcherTest() : AbstractFetcherTest() {
void ColnectFetcherTest::initTestCase() {
Tellico::ImageFactory::init();
Tellico::RegisterCollection registerMe(Tellico::Data::Collection::Coin, "coin");
+ Tellico::RegisterCollection registerComic(Tellico::Data::Collection::ComicBook, "comic");
m_config = KSharedConfig::openConfig(QString(), KConfig::SimpleConfig)->group(QStringLiteral("colnect"));
m_config.writeEntry("Custom Fields", QStringLiteral("obverse,reverse,series,mintage,description"));
@@ -145,3 +147,31 @@ void ColnectFetcherTest::testSkylab() {
QVERIFY(!entry->field(QStringLiteral("image")).isEmpty());
QVERIFY(!entry->field(QStringLiteral("image")).contains(QLatin1Char('/')));
}
+
+void ColnectFetcherTest::testComic() {
+ KConfigGroup cg = KSharedConfig::openConfig(QString(), KConfig::SimpleConfig)->group(QStringLiteral("colnect comics"));
+ cg.writeEntry("Custom Fields", QStringLiteral("series"));
+
+ Tellico::Fetch::FetchRequest request(Tellico::Data::Collection::ComicBook,
+ Tellico::Fetch::Title,
+ QStringLiteral("Destiny's Hand: Finale"));
+ Tellico::Fetch::Fetcher::Ptr fetcher(new Tellico::Fetch::ColnectFetcher(this));
+ fetcher->readConfig(cg);
+
+ Tellico::Data::EntryList results = DO_FETCH1(fetcher, request, 1);
+
+ QCOMPARE(results.size(), 1);
+ Tellico::Data::EntryPtr entry = results.at(0);
+
+ QCOMPARE(entry->field(QStringLiteral("title")), QStringLiteral("Destiny's Hand: Finale"));
+ QCOMPARE(entry->field(QStringLiteral("pub_year")), QStringLiteral("1993"));
+ QCOMPARE(entry->field(QStringLiteral("series")), QStringLiteral("Justice League America (JLA)"));
+ QCOMPARE(entry->field(QStringLiteral("writer")), QStringLiteral("Jurgens Dan"));
+ QCOMPARE(entry->field(QStringLiteral("artist")), QStringLiteral("Jurgens Dan; Giordano Dick"));
+ QCOMPARE(entry->field(QStringLiteral("issue")), QStringLiteral("75"));
+ QCOMPARE(entry->field(QStringLiteral("publisher")), QStringLiteral("DC Comics"));
+ QCOMPARE(entry->field(QStringLiteral("edition")), QStringLiteral("First edition"));
+ QCOMPARE(entry->field(QStringLiteral("genre")), QStringLiteral("Superhero"));
+ QVERIFY(!entry->field(QStringLiteral("cover")).isEmpty());
+ QVERIFY(!entry->field(QStringLiteral("cover")).contains(QLatin1Char('/')));
+}
diff --git a/src/tests/colnectfetchertest.h b/src/tests/colnectfetchertest.h
index 43f5f0cbe..9a978f868 100644
--- a/src/tests/colnectfetchertest.h
+++ b/src/tests/colnectfetchertest.h
@@ -41,6 +41,7 @@ private Q_SLOTS:
void testRaw();
void testSacagawea();
void testSkylab();
+ void testComic();
private:
KConfigGroup m_config;
From bugzilla_noreply at kde.org Mon Apr 24 06:10:38 2023
From: bugzilla_noreply at kde.org (Megha M.)
Date: Mon, 24 Apr 2023 05:10:38 +0000
Subject: [docs.kde.org] [Bug 468891] New: yes who create panic all over the
world with their best looks.
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468891
Bug ID: 468891
Summary: yes who create panic all over the world with their
best looks.
Classification: Websites
Product: docs.kde.org
Version: 4.12.5
Platform: Neon
OS: OpenBSD
Status: REPORTED
Severity: normal
Priority: NOR
Component: Corrections
Assignee: kde-doc-english at kde.org
Reporter: mmvipmodel at gmail.com
Target Milestone: ---
Created attachment 158378
--> https://bugs.kde.org/attachment.cgi?id=158378&action=edit
Solve It
SUMMARY
***
See
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***
I am Megha Malik and for the last 2 years, I worked as a fashion model. I have
a huge passion for acting and I love being in front of the camera.
STEPS TO REPRODUCE
1. https://bit.ly/3laCtQk
2. https://bit.ly/3l2e677
3.
OBSERVED RESULT
EXPECTED RESULT
SOFTWARE/OS VERSIONS
Windows:
macOS:
Linux/KDE Plasma:
(available in About System)
KDE Plasma Version:
KDE Frameworks Version:
Qt Version:
ADDITIONAL INFORMATION
Website: https://www.meghamalik.com
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Mon Apr 24 06:11:32 2023
From: bugzilla_noreply at kde.org (Megha M.)
Date: Mon, 24 Apr 2023 05:11:32 +0000
Subject: [docs.kde.org] [Bug 468891] yes who create panic all over the world
with their best looks.
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468891
Megha M. changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |https://www.meghamalik.com
Keywords| |bounty
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Mon Apr 24 09:21:21 2023
From: bugzilla_noreply at kde.org (Nicolas Fella)
Date: Mon, 24 Apr 2023 08:21:21 +0000
Subject: [Spam] [Bug 468891] yes who create panic all over the world with
their best looks.
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468891
Nicolas Fella changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|Corrections |Spam
Assignee|kde-doc-english at kde.org |null at kde.org
CC| |nicolas.fella at gmx.de
Version|4.12.5 |unspecified
Product|docs.kde.org |Spam
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Wed Apr 26 06:22:45 2023
From: bugzilla_noreply at kde.org (Zayed Al-Saidi)
Date: Wed, 26 Apr 2023 05:22:45 +0000
Subject: [docs.kde.org] [Bug 468982] New: Enable Arabic
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468982
Bug ID: 468982
Summary: Enable Arabic
Classification: Websites
Product: docs.kde.org
Version: unspecified
Platform: Other
OS: Other
Status: REPORTED
Severity: normal
Priority: NOR
Component: docs.kde.org
Assignee: kde-doc-english at kde.org
Reporter: zayed.alsaidi at gmail.com
Target Milestone: ---
Please enable Arabic support in https://docs.kde.org/ . Currently, Kturtule's
Handbook is fully translated to Arabic.
Please also, add the right RTL support in the CSS. After enabling Arabic, I
can report any issue in the standard-rtl.css . I what I can see, it lacks
direction:rtl; in the body{}.
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Wed Apr 26 10:24:45 2023
From: bugzilla_noreply at kde.org (Bug Janitor Service)
Date: Wed, 26 Apr 2023 09:24:45 +0000
Subject: [docs.kde.org] [Bug 468982] Enable Arabic
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468982
Bug Janitor Service changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|REPORTED |ASSIGNED
--- Comment #1 from Bug Janitor Service ---
A possibly relevant merge request was started @
https://invent.kde.org/websites/docs-kde-org/-/merge_requests/1
--
You are receiving this mail because:
You are the assignee for the bug.
From bugzilla_noreply at kde.org Wed Apr 26 14:33:53 2023
From: bugzilla_noreply at kde.org (Yuri Chornoivan)
Date: Wed, 26 Apr 2023 13:33:53 +0000
Subject: [docs.kde.org] [Bug 468982] Enable Arabic
In-Reply-To:
References:
Message-ID:
https://bugs.kde.org/show_bug.cgi?id=468982
Yuri Chornoivan changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Latest Commit| |https://invent.kde.org/webs
| |ites/docs-kde-org/commit/9f
| |d9ac37ca1e9f4c0a607030da207
| |455afb73dff
Resolution|--- |FIXED
--- Comment #2 from Yuri Chornoivan ---
Git commit 9fd9ac37ca1e9f4c0a607030da207455afb73dff by Yuri Chornoivan.
Committed on 26/04/2023 at 09:23.
Pushed by ltoscano into branch 'master'.
Add Arabic to the docs languages (thanks to Zayed Al-Saidi)
M +1 -0 languages
https://invent.kde.org/websites/docs-kde-org/commit/9fd9ac37ca1e9f4c0a607030da207455afb73dff
--
You are receiving this mail because:
You are the assignee for the bug.
From null at kde.org Sun Apr 30 18:56:45 2023
From: null at kde.org (Robby Stephenson)
Date: Sun, 30 Apr 2023 17:56:45 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/tellico=5D_doc=3A_Update_doc_version?=
Message-ID: <20230430175645.1E19A1240626@leptone.kde.org>
Git commit a5ce55c391148cfc52fd090663456e87570f962f by Robby Stephenson.
Committed on 30/04/2023 at 17:56.
Pushed by rstephenson into branch 'master'.
Update doc version
M +1 -1 doc/index.docbook
https://invent.kde.org/office/tellico/commit/a5ce55c391148cfc52fd090663456e87570f962f
diff --git a/doc/index.docbook b/doc/index.docbook
index b10c1c99..a14a6708 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -51,7 +51,7 @@ Applications xx.yy for docbooks released as Applications
xx.yy (Applications xx.yy) for docbooks with own version released as Applications
$applicationname xx.yy for applications with independent release schedule (extragear/playground)
-->
-Tellico 3.4
+Tellico 3.5The &tellico; Handbook
From null at kde.org Sun Apr 30 18:56:45 2023
From: null at kde.org (Robby Stephenson)
Date: Sun, 30 Apr 2023 17:56:45 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/tellico=5D_doc=3A_Update_doc_for_additional_Colnect_items?=
Message-ID: <20230430175645.129611240624@leptone.kde.org>
Git commit eaff321922aa164a898c9eb5943429f90b3c61c7 by Robby Stephenson.
Committed on 30/04/2023 at 17:56.
Pushed by rstephenson into branch 'master'.
Update doc for additional Colnect items
M +1 -1 doc/configuration.docbook
https://invent.kde.org/office/tellico/commit/eaff321922aa164a898c9eb5943429f90b3c61c7
diff --git a/doc/configuration.docbook b/doc/configuration.docbook
index d2dff5ba..cf626efd 100644
--- a/doc/configuration.docbook
+++ b/doc/configuration.docbook
@@ -464,7 +464,7 @@ The Internet Movie Database provides in
ColnectColnect is an online community for collectibles providing personal collection management.
-&tellico; can search Colnect for coin, stamp, and comic book information.
+&tellico; can search Colnect for coin and stamp information, as well as comic books, sports card, and video games.
From null at kde.org Sun Apr 30 18:56:45 2023
From: null at kde.org (Robby Stephenson)
Date: Sun, 30 Apr 2023 17:56:45 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/tellico=5D_doc=3A_Update_some_menu_documentation?=
Message-ID: <20230430175645.27E471240628@leptone.kde.org>
Git commit 6c5798af2ef71ec7eb348b74f205355baa9481f2 by Robby Stephenson.
Committed on 30/04/2023 at 17:56.
Pushed by rstephenson into branch 'master'.
Update some menu documentation
M +54 -1 doc/menus.docbook
https://invent.kde.org/office/tellico/commit/6c5798af2ef71ec7eb348b74f205355baa9481f2
diff --git a/doc/menus.docbook b/doc/menus.docbook
index 3d6f26c5..071b80ab 100644
--- a/doc/menus.docbook
+++ b/doc/menus.docbook
@@ -31,7 +31,7 @@ performs a menu item function, the default shortcut is listed with the menu item
-This command creates a new collection. &tellico; supports 12 default collection types along with an empty user-defined custom collection.
+This command creates a new collection. &tellico; supports 12 default collection types along with an empty user-defined custom collection. Any custom-saved collection templates will also be available.
@@ -100,6 +100,19 @@ modified.
+
+
+
+ File
+ Save As Template...
+
+
+
+
+ This command saves the collection as a new template. Only the fields are saved, and the custom collection type can be created via the New Collection command.
+
+
+
@@ -116,6 +129,19 @@ modified.
+
+
+
+ File
+ Print Preview
+
+
+
+
+This command shows a preview of the printed collection.
+
+
+
@@ -617,6 +643,33 @@ chapter of the &kde; Fundamentals documentation &tellico; has these application
+
+
+
+ Settings
+ Lock Layout
+
+
+
+
+This command locks the layout such that the various collection views cannot be moved. Unlocking the layout allows the user to rearrange them.
+
+
+
+
+
+
+
+ Settings
+ Reset Layout
+
+
+
+
+This command resets the layout to the default view, which may be helpful if the various views become hidden or collapsed.
+
+
+
From null at kde.org Sun Apr 30 19:16:37 2023
From: null at kde.org (Robby Stephenson)
Date: Sun, 30 Apr 2023 18:16:37 +0000 (UTC)
Subject: =?utf-8?q?=5Boffice/tellico=5D_doc=3A_Add_Data_Crow_mention_in_the_docs?=
Message-ID: <20230430181637.7CDA31240624@leptone.kde.org>
Git commit 4a21ba9e0e692a1477422ec2e18607d225c7dc4c by Robby Stephenson.
Committed on 30/04/2023 at 18:16.
Pushed by rstephenson into branch 'master'.
Add Data Crow mention in the docs
M +3 -2 doc/importing-exporting.docbook
https://invent.kde.org/office/tellico/commit/4a21ba9e0e692a1477422ec2e18607d225c7dc4c
diff --git a/doc/importing-exporting.docbook b/doc/importing-exporting.docbook
index 249470af..8f4a14d9 100644
--- a/doc/importing-exporting.docbook
+++ b/doc/importing-exporting.docbook
@@ -50,7 +50,8 @@ To facilitate the use of barcode scanners, searches can include multiple ISBN/UP
Importing Data From Other Software&appname; can import data directly from a variety of other collection management programs, including
- GCstar,
+ GCstar,
+ Data Crow,
Alexandria,
Delicious Library,
Collectorz,
@@ -105,7 +106,7 @@ For compactness, only the first five lines of the imported CSV file are shown in
Importing Audio &CD; Data
-&appname; is able to use the freedb.org service to lookup
+&appname; is able to use the freedb.org service to lookup
information about a &CD;, including the track list. Depending on your distribution,
settings for access to the service may be set in the &kde; &systemsettings;. The &CD; artist, title, genre,
year, and track listing are all added.