[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bkde-runtime=5D_phonon=3A_Adapt_to_the_new_Phonon_Ca?=
From: Casian Andrei <skeletk13 () gmail ! com>
Date: 2011-03-09 19:32:35
Message-ID: 20110309193235.8C165A60B0 () git ! kde ! org
[Download RAW message or body]
Git commit ca5ca4c3afb2e2a795eff8fb4e5b6f1a1b4eef49 by Casian Andrei.
Committed on 09/03/2011 at 20:29.
Pushed by casianandrei into branch 'master'.
Adapt to the new Phonon CaptureCategory
M +1 -1 phonon/CMakeLists.txt
M +63 -41 phonon/kcm/devicepreference.cpp
http://commits.kde.org/kde-runtime/ca5ca4c3afb2e2a795eff8fb4e5b6f1a1b4eef49
diff --git a/phonon/CMakeLists.txt b/phonon/CMakeLists.txt
index c491458..45541b0 100644
--- a/phonon/CMakeLists.txt
+++ b/phonon/CMakeLists.txt
@@ -14,7 +14,7 @@ endif(KDE4_DISABLE_MULTIMEDIA)
if(KDEBASE_DISABLE_MULTIMEDIA)
message(STATUS "NOTICE: Multimedia support DISABLED (KDEBASE_DISABLE_MULTIMEDIA \
== ON)") else(KDEBASE_DISABLE_MULTIMEDIA)
- set(PHONON_MIN_VERSION "4.4.56")
+ set(PHONON_MIN_VERSION "4.4.57")
macro_ensure_version("${PHONON_MIN_VERSION}" "${PHONON_VERSION}" \
_phonon_version_ok) macro_log_feature(_phonon_version_ok "Phonon" "Phonon library" \
"git://anongit.kde.org/phonon.git" TRUE "${PHONON_MIN_VERSION}" "STRONGLY \
RECOMMENDED: Required for playing audio and video throughout KDE")
diff --git a/phonon/kcm/devicepreference.cpp b/phonon/kcm/devicepreference.cpp
index 8df88fe..3b2dc1d 100644
--- a/phonon/kcm/devicepreference.cpp
+++ b/phonon/kcm/devicepreference.cpp
@@ -71,20 +71,22 @@ static const Phonon::Category audioOutCategories[] = {
Phonon::AccessibilityCategory,
};
-static const Phonon::Category audioCapCategories[] = {
- Phonon::NoCategory,
- Phonon::CommunicationCategory,
- Phonon::AccessibilityCategory
+static const Phonon::CaptureCategory audioCapCategories[] = {
+ Phonon::NoCaptureCategory,
+ Phonon::CommunicationCaptureCategory,
+ Phonon::RecordingCategory,
+ Phonon::ControlCategory
};
-static const Phonon::Category videoCapCategories[] = {
- Phonon::NoCategory,
- Phonon::CommunicationCategory
+static const Phonon::CaptureCategory videoCapCategories[] = {
+ Phonon::NoCaptureCategory,
+ Phonon::CommunicationCaptureCategory,
+ Phonon::RecordingCategory,
};
static const int audioOutCategoriesCount = sizeof(audioOutCategories) / \
sizeof(Phonon::Category);
-static const int audioCapCategoriesCount = sizeof(audioCapCategories) / \
sizeof(Phonon::Category);
-static const int videoCapCategoriesCount = sizeof(videoCapCategories) / \
sizeof(Phonon::Category); +static const int audioCapCategoriesCount = \
sizeof(audioCapCategories) / sizeof(Phonon::CaptureCategory); +static const int \
videoCapCategoriesCount = sizeof(videoCapCategories) / \
sizeof(Phonon::CaptureCategory);
void operator++(Phonon::Category &c)
{
@@ -94,16 +96,25 @@ void operator++(Phonon::Category &c)
class CategoryItem : public QStandardItem {
public:
- CategoryItem(Phonon::Category cat, Phonon::ObjectDescriptionType t = \
Phonon::AudioOutputDeviceType) + CategoryItem(Phonon::Category cat)
: QStandardItem(),
m_cat(cat),
- m_odtype(t)
+ m_odtype(Phonon::AudioOutputDeviceType)
{
if (cat == Phonon::NoCategory) {
+ setText(i18n("Audio Output"));
+ } else {
+ setText(Phonon::categoryToString(cat));
+ }
+ }
+
+ CategoryItem(Phonon::CaptureCategory cat, Phonon::ObjectDescriptionType t = \
Phonon::AudioCaptureDeviceType) + : QStandardItem(),
+ m_capcat(cat),
+ m_odtype(t)
+ {
+ if (cat == Phonon::NoCaptureCategory) {
switch(t) {
- case Phonon::AudioOutputDeviceType:
- setText(i18n("Audio Output"));
- break;
case Phonon::AudioCaptureDeviceType:
setText(i18n("Audio Capture"));
break;
@@ -120,10 +131,12 @@ class CategoryItem : public QStandardItem {
int type() const { return 1001; }
Phonon::Category category() const { return m_cat; }
+ Phonon::CaptureCategory captureCategory() const { return m_capcat; }
Phonon::ObjectDescriptionType odtype() const { return m_odtype; }
private:
Phonon::Category m_cat;
+ Phonon::CaptureCategory m_capcat;
Phonon::ObjectDescriptionType m_odtype;
};
@@ -170,22 +183,22 @@ DevicePreference::DevicePreference(QWidget *parent)
QStandardItem *parentItem = m_categoryModel.invisibleRootItem();
// Audio Output Parent
- QStandardItem *aOutputItem = new CategoryItem(Phonon::NoCategory, \
Phonon::AudioOutputDeviceType); + QStandardItem *aOutputItem = new \
CategoryItem(Phonon::NoCategory);
m_audioOutputModel[Phonon::NoCategory] = new \
Phonon::AudioOutputDeviceModel(this); aOutputItem->setEditable(false);
aOutputItem->setToolTip(i18n("Defines the default ordering of devices which can \
be overridden by individual categories.")); parentItem->appendRow(aOutputItem);
// Audio Capture Parent
- QStandardItem *aCaptureItem = new CategoryItem(Phonon::NoCategory, \
Phonon::AudioCaptureDeviceType);
- m_audioCaptureModel[Phonon::NoCategory] = new \
Phonon::AudioCaptureDeviceModel(this); + QStandardItem *aCaptureItem = new \
CategoryItem(Phonon::NoCaptureCategory, Phonon::AudioCaptureDeviceType); + \
m_audioCaptureModel[Phonon::NoCaptureCategory] = new \
Phonon::AudioCaptureDeviceModel(this); aCaptureItem->setEditable(false);
aCaptureItem->setToolTip(i18n("Defines the default ordering of devices which can \
be overridden by individual categories.")); parentItem->appendRow(aCaptureItem);
// Video Capture Parent
- QStandardItem *vCaptureItem = new CategoryItem(Phonon::NoCategory, \
Phonon::VideoCaptureDeviceType);
- m_videoCaptureModel[Phonon::NoCategory] = new \
Phonon::VideoCaptureDeviceModel(this); + QStandardItem *vCaptureItem = new \
CategoryItem(Phonon::NoCaptureCategory, Phonon::VideoCaptureDeviceType); + \
m_videoCaptureModel[Phonon::NoCaptureCategory] = new \
Phonon::VideoCaptureDeviceModel(this); vCaptureItem->setEditable(false);
vCaptureItem->setToolTip(i18n("Defines the default ordering of devices which can \
be overridden by individual categories.")); parentItem->appendRow(vCaptureItem);
@@ -194,7 +207,7 @@ DevicePreference::DevicePreference(QWidget *parent)
parentItem = aOutputItem;
for (int i = 1; i < audioOutCategoriesCount; ++i) { // i == 1 to skip NoCategory
m_audioOutputModel[audioOutCategories[i]] = new \
Phonon::AudioOutputDeviceModel(this);
- QStandardItem *item = new CategoryItem(audioOutCategories[i], \
Phonon::AudioOutputDeviceType); + QStandardItem *item = new \
CategoryItem(audioOutCategories[i]); item->setEditable(false);
parentItem->appendRow(item);
}
@@ -285,7 +298,9 @@ void DevicePreference::updateDeviceList()
QStandardItem *currentItem = \
m_categoryModel.itemFromIndex(categoryTree->currentIndex()); if (currentItem && \
currentItem->type() == 1001) { CategoryItem *catItem = static_cast<CategoryItem \
*>(currentItem); + bool cap = catItem->odtype() != \
Phonon::AudioOutputDeviceType; const Phonon::Category cat = catItem->category();
+ const Phonon::CaptureCategory capcat = catItem->captureCategory();
// Update the device list, by setting it's model to the one for the \
corresponding category switch (catItem->odtype()) {
@@ -293,16 +308,16 @@ void DevicePreference::updateDeviceList()
deviceList->setModel(m_audioOutputModel[cat]);
break;
case Phonon::AudioCaptureDeviceType:
- deviceList->setModel(m_audioCaptureModel[cat]);
+ deviceList->setModel(m_audioCaptureModel[capcat]);
break;
case Phonon::VideoCaptureDeviceType:
- deviceList->setModel(m_videoCaptureModel[cat]);
+ deviceList->setModel(m_videoCaptureModel[capcat]);
break;
default: ;
}
// Update the header
- if (cat == Phonon::NoCategory) {
+ if (cap ? capcat == Phonon::NoCaptureCategory : cat == Phonon::NoCategory) {
switch (catItem->odtype()) {
case Phonon::AudioOutputDeviceType:
m_headerModel.setHeaderData(0, Qt::Horizontal, i18n("Default Audio \
Output Device Preference"), Qt::DisplayRole); @@ -323,11 +338,11 @@ void \
DevicePreference::updateDeviceList() break;
case Phonon::AudioCaptureDeviceType:
m_headerModel.setHeaderData(0, Qt::Horizontal, i18n("Audio Capture \
Device Preference for the '%1' Category",
- Phonon::categoryToString(cat)), Qt::DisplayRole);
+ Phonon::categoryToString(capcat)), Qt::DisplayRole);
break;
case Phonon::VideoCaptureDeviceType:
m_headerModel.setHeaderData(0, Qt::Horizontal, i18n("Video Capture \
Device Preference for the '%1' Category ",
- Phonon::categoryToString(cat)), Qt::DisplayRole);
+ Phonon::categoryToString(capcat)), Qt::DisplayRole);
break;
default: ;
}
@@ -521,7 +536,7 @@ void DevicePreference::loadCategoryDevices()
}
for (int i = 0; i < audioCapCategoriesCount; ++ i) {
- const Phonon::Category cat = audioCapCategories[i];
+ const Phonon::CaptureCategory cat = audioCapCategories[i];
QList<Phonon::AudioCaptureDevice> list;
const QList<int> deviceIndexes = \
Phonon::GlobalConfig().audioCaptureDeviceListFor(cat); foreach (int i, \
deviceIndexes) { @@ -532,7 +547,7 @@ void DevicePreference::loadCategoryDevices()
}
for (int i = 0; i < videoCapCategoriesCount; ++ i) {
- const Phonon::Category cat = videoCapCategories[i];
+ const Phonon::CaptureCategory cat = videoCapCategories[i];
QList<Phonon::VideoCaptureDevice> list;
const QList<int> deviceIndexes = \
Phonon::GlobalConfig().videoCaptureDeviceListFor(cat); foreach (int i, \
deviceIndexes) { @@ -563,14 +578,14 @@ void DevicePreference::save()
}
for (int i = 0; i < audioCapCategoriesCount; ++i) {
- const Phonon::Category cat = audioCapCategories[i];
+ const Phonon::CaptureCategory cat = audioCapCategories[i];
Q_ASSERT(m_audioCaptureModel.value(cat));
const QList<int> order = m_audioCaptureModel.value(cat)->tupleIndexOrder();
Phonon::GlobalConfig().setAudioCaptureDeviceListFor(cat, order);
}
for (int i = 0; i < videoCapCategoriesCount; ++i) {
- const Phonon::Category cat = videoCapCategories[i];
+ const Phonon::CaptureCategory cat = videoCapCategories[i];
Q_ASSERT(m_videoCaptureModel.value(cat));
const QList<int> order = m_videoCaptureModel.value(cat)->tupleIndexOrder();
Phonon::GlobalConfig().setVideoCaptureDeviceListFor(cat, order);
@@ -761,26 +776,31 @@ void DevicePreference::on_applyPreferencesButton_clicked()
QList<Phonon::AudioCaptureDevice> acPreferredList;
QList<Phonon::VideoCaptureDevice> vcPreferredList;
const Phonon::Category *categoryList = NULL;
+ const Phonon::CaptureCategory *capCategoryList = NULL;
int categoryListCount;
int catIndex;
+ bool cap = false;
switch (catItem->odtype()) {
case Phonon::AudioOutputDeviceType:
aoPreferredList = \
m_audioOutputModel.value(catItem->category())->modelData(); categoryList = \
audioOutCategories; categoryListCount = audioOutCategoriesCount;
+ cap = false;
break;
case Phonon::AudioCaptureDeviceType:
- acPreferredList = \
m_audioCaptureModel.value(catItem->category())->modelData();
- categoryList = audioCapCategories;
+ acPreferredList = \
m_audioCaptureModel.value(catItem->captureCategory())->modelData(); + \
capCategoryList = audioCapCategories; categoryListCount = audioCapCategoriesCount;
+ cap = true;
break;
case Phonon::VideoCaptureDeviceType:
- vcPreferredList = \
m_videoCaptureModel.value(catItem->category())->modelData();
- categoryList = videoCapCategories;
+ vcPreferredList = \
m_videoCaptureModel.value(catItem->captureCategory())->modelData(); + \
capCategoryList = videoCapCategories; categoryListCount = videoCapCategoriesCount;
+ cap = true;
break;
default:
@@ -802,10 +822,11 @@ void DevicePreference::on_applyPreferencesButton_clicked()
KListWidget list(&mainWidget);
for (catIndex = 0; catIndex < categoryListCount; catIndex ++) {
- Phonon::Category cat = categoryList[catIndex];
+ Phonon::Category cat = cap ? Phonon::NoCategory : categoryList[catIndex];
+ Phonon::CaptureCategory capcat = cap ? capCategoryList[catIndex] : \
Phonon::NoCaptureCategory;
- QListWidgetItem *item = new QListWidgetItem(cat == Phonon::NoCategory
- ? i18n("Default/Unspecified Category") : \
Phonon::categoryToString(cat), &list, cat); + QListWidgetItem *item = new \
QListWidgetItem((cap ? capcat == Phonon::NoCaptureCategory : cat == \
Phonon::NoCategory) + ? i18n("Default/Unspecified Category") : \
Phonon::categoryToString(cat), &list, cap ? (int) capcat : (int) cat); \
item->setCheckState(Qt::Checked); if (cat == catItem->category()) {
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
@@ -820,11 +841,12 @@ void DevicePreference::on_applyPreferencesButton_clicked()
switch (dialog.exec()) {
case QDialog::Accepted:
for (catIndex = 0; catIndex < categoryListCount; catIndex ++) {
- Phonon::Category cat = categoryList[catIndex];
+ Phonon::Category cat = cap ? Phonon::NoCategory : \
categoryList[catIndex]; + Phonon::CaptureCategory capcat = cap ? \
capCategoryList[catIndex] : Phonon::NoCaptureCategory;
- if (cat != catItem->category()) {
+ if (cap ? capcat != catItem->captureCategory() : cat != \
catItem->category()) { QListWidgetItem *item = list.item(catIndex);
- Q_ASSERT(item->type() == cat);
+ Q_ASSERT(item->type() == cap ? (int) capcat : (int) cat);
if (item->checkState() == Qt::Checked) {
switch (catItem->odtype()) {
case Phonon::AudioOutputDeviceType:
@@ -832,11 +854,11 @@ void DevicePreference::on_applyPreferencesButton_clicked()
break;
case Phonon::AudioCaptureDeviceType:
- \
m_audioCaptureModel.value(cat)->setModelData(acPreferredList); + \
m_audioCaptureModel.value(capcat)->setModelData(acPreferredList); break;
case Phonon::VideoCaptureDeviceType:
- \
m_videoCaptureModel.value(cat)->setModelData(vcPreferredList); + \
m_videoCaptureModel.value(capcat)->setModelData(vcPreferredList); break;
default: ;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic