Changeset View
Changeset View
Standalone View
Standalone View
src/elisaapplication.cpp
| Show First 20 Lines • Show All 53 Lines • ▼ Show 20 Line(s) | |||||
| 54 | #include <QPointer> | 54 | #include <QPointer> | ||
| 55 | #include <QIcon> | 55 | #include <QIcon> | ||
| 56 | #include <QAction> | 56 | #include <QAction> | ||
| 57 | #include <QUrl> | 57 | #include <QUrl> | ||
| 58 | #include <QFileInfo> | 58 | #include <QFileInfo> | ||
| 59 | #include <QDir> | 59 | #include <QDir> | ||
| 60 | #include <QKeyEvent> | 60 | #include <QKeyEvent> | ||
| 61 | #include <QDebug> | 61 | #include <QDebug> | ||
| 62 | #include <QFileSystemWatcher> | ||||
| 62 | 63 | | |||
| 63 | #include <memory> | 64 | #include <memory> | ||
| 64 | 65 | | |||
| 65 | class ElisaApplicationPrivate | 66 | class ElisaApplicationPrivate | ||
| 66 | { | 67 | { | ||
| 67 | public: | 68 | public: | ||
| 68 | 69 | | |||
| 69 | explicit ElisaApplicationPrivate(QObject *parent) | 70 | explicit ElisaApplicationPrivate(QObject *parent) | ||
| 70 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | 71 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | ||
| 71 | : mCollection(parent) | 72 | : mCollection(parent) | ||
| 72 | #endif | 73 | #endif | ||
| 73 | { | 74 | { | ||
| 74 | Q_UNUSED(parent) | 75 | Q_UNUSED(parent) | ||
| 75 | 76 | | |||
| 76 | auto configurationFileName = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation); | 77 | auto configurationFileName = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation); | ||
| 77 | configurationFileName += QStringLiteral("/elisarc"); | 78 | configurationFileName += QStringLiteral("/elisarc"); | ||
| 78 | Elisa::ElisaConfiguration::instance(configurationFileName); | 79 | Elisa::ElisaConfiguration::instance(configurationFileName); | ||
| 79 | Elisa::ElisaConfiguration::self()->load(); | 80 | Elisa::ElisaConfiguration::self()->load(); | ||
| 80 | Elisa::ElisaConfiguration::self()->save(); | 81 | Elisa::ElisaConfiguration::self()->save(); | ||
| 82 | | ||||
| 83 | mConfigFileWatcher.addPath(configurationFileName); | ||||
| 81 | } | 84 | } | ||
| 82 | 85 | | |||
| 83 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | 86 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | ||
| 84 | KActionCollection mCollection; | 87 | KActionCollection mCollection; | ||
| 85 | #endif | 88 | #endif | ||
| 86 | 89 | | |||
| 87 | ElisaUtils::EntryDataList mArguments; | 90 | ElisaUtils::EntryDataList mArguments; | ||
| 88 | 91 | | |||
| 89 | std::unique_ptr<MusicListenersManager> mMusicManager; | 92 | std::unique_ptr<MusicListenersManager> mMusicManager; | ||
| 90 | 93 | | |||
| 91 | std::unique_ptr<MediaPlayList> mMediaPlayList; | 94 | std::unique_ptr<MediaPlayList> mMediaPlayList; | ||
| 92 | 95 | | |||
| 93 | std::unique_ptr<AudioWrapper> mAudioWrapper; | 96 | std::unique_ptr<AudioWrapper> mAudioWrapper; | ||
| 94 | 97 | | |||
| 95 | std::unique_ptr<ManageAudioPlayer> mAudioControl; | 98 | std::unique_ptr<ManageAudioPlayer> mAudioControl; | ||
| 96 | 99 | | |||
| 97 | std::unique_ptr<ManageMediaPlayerControl> mPlayerControl; | 100 | std::unique_ptr<ManageMediaPlayerControl> mPlayerControl; | ||
| 98 | 101 | | |||
| 99 | std::unique_ptr<ManageHeaderBar> mManageHeaderBar; | 102 | std::unique_ptr<ManageHeaderBar> mManageHeaderBar; | ||
| 100 | 103 | | |||
| 104 | QFileSystemWatcher mConfigFileWatcher; | ||||
| 105 | | ||||
| 101 | }; | 106 | }; | ||
| 102 | 107 | | |||
| 103 | ElisaApplication::ElisaApplication(QObject *parent) : QObject(parent), d(std::make_unique<ElisaApplicationPrivate>(this)) | 108 | ElisaApplication::ElisaApplication(QObject *parent) : QObject(parent), d(std::make_unique<ElisaApplicationPrivate>(this)) | ||
| 104 | { | 109 | { | ||
| 110 | connect(Elisa::ElisaConfiguration::self(), &Elisa::ElisaConfiguration::configChanged, | ||||
| 111 | this, &ElisaApplication::configChanged); | ||||
| 112 | | ||||
| 113 | connect(&d->mConfigFileWatcher, &QFileSystemWatcher::fileChanged, | ||||
| 114 | this, &ElisaApplication::configChanged); | ||||
| 105 | } | 115 | } | ||
| 106 | 116 | | |||
| 107 | ElisaApplication::~ElisaApplication() | 117 | ElisaApplication::~ElisaApplication() | ||
| 108 | = default; | 118 | = default; | ||
| 109 | 119 | | |||
| 110 | void ElisaApplication::setupActions(const QString &actionName) | 120 | void ElisaApplication::setupActions(const QString &actionName) | ||
| 111 | { | 121 | { | ||
| 112 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | 122 | #if defined KF5XmlGui_FOUND && KF5XmlGui_FOUND | ||
| ▲ Show 20 Lines • Show All 168 Lines • ▼ Show 20 Line(s) | |||||
| 281 | void ElisaApplication::togglePlaylist() {} | 291 | void ElisaApplication::togglePlaylist() {} | ||
| 282 | 292 | | |||
| 283 | void ElisaApplication::seek() {} | 293 | void ElisaApplication::seek() {} | ||
| 284 | 294 | | |||
| 285 | void ElisaApplication::scrub() {} | 295 | void ElisaApplication::scrub() {} | ||
| 286 | 296 | | |||
| 287 | void ElisaApplication::playPause() {} | 297 | void ElisaApplication::playPause() {} | ||
| 288 | 298 | | |||
| 299 | void ElisaApplication::configChanged() | ||||
| 300 | { | ||||
| 301 | auto currentConfiguration = Elisa::ElisaConfiguration::self(); | ||||
| 302 | | ||||
| 303 | d->mConfigFileWatcher.addPath(currentConfiguration->config()->name()); | ||||
| 304 | | ||||
| 305 | currentConfiguration->load(); | ||||
| 306 | currentConfiguration->read(); | ||||
| 307 | | ||||
| 308 | Q_EMIT showProgressOnTaskBarChanged(); | ||||
| 309 | } | ||||
| 310 | | ||||
| 289 | ElisaUtils::EntryDataList ElisaApplication::checkFileListAndMakeAbsolute(const ElisaUtils::EntryDataList &filesList, | 311 | ElisaUtils::EntryDataList ElisaApplication::checkFileListAndMakeAbsolute(const ElisaUtils::EntryDataList &filesList, | ||
| 290 | const QString &workingDirectory) const | 312 | const QString &workingDirectory) const | ||
| 291 | { | 313 | { | ||
| 292 | auto filesToOpen = ElisaUtils::EntryDataList{}; | 314 | auto filesToOpen = ElisaUtils::EntryDataList{}; | ||
| 293 | 315 | | |||
| 294 | for (const auto &oneFile : filesList) { | 316 | for (const auto &oneFile : filesList) { | ||
| 295 | auto newFile = QFileInfo(std::get<1>(oneFile)); | 317 | auto newFile = QFileInfo(std::get<1>(oneFile)); | ||
| 296 | 318 | | |||
| ▲ Show 20 Lines • Show All 184 Lines • ▼ Show 20 Line(s) | 502 | { | |||
| 481 | return d->mPlayerControl.get(); | 503 | return d->mPlayerControl.get(); | ||
| 482 | } | 504 | } | ||
| 483 | 505 | | |||
| 484 | ManageHeaderBar *ElisaApplication::manageHeaderBar() const | 506 | ManageHeaderBar *ElisaApplication::manageHeaderBar() const | ||
| 485 | { | 507 | { | ||
| 486 | return d->mManageHeaderBar.get(); | 508 | return d->mManageHeaderBar.get(); | ||
| 487 | } | 509 | } | ||
| 488 | 510 | | |||
| 511 | bool ElisaApplication::showProgressOnTaskBar() const | ||||
| 512 | { | ||||
| 513 | auto currentConfiguration = Elisa::ElisaConfiguration::self(); | ||||
| 514 | | ||||
| 515 | return currentConfiguration->showProgressOnTaskBar(); | ||||
| 516 | } | ||||
| 517 | | ||||
| 489 | #include "moc_elisaapplication.cpp" | 518 | #include "moc_elisaapplication.cpp" | ||