This commit is contained in:
2017-10-20 11:46:47 +02:00
parent 9aa9b29c6b
commit 8276348484
12 changed files with 703 additions and 38 deletions
-1
View File
@@ -42,7 +42,6 @@ cEdit::cEdit(QWidget *parent) :
m_lpAllProgress(0),
m_lpAllDone(0),
m_lpVerticalSpacer(0),
// m_lpButtonBox(0),
m_lpSerie(0)
{
ui->setupUi(this);
+2 -4
View File
@@ -5,7 +5,6 @@
#include "cserie.h"
#include <QDialog>
//#include <QDialogButtonBox>
namespace Ui {
@@ -33,9 +32,9 @@ private slots:
void on_m_lpTabWidget_tabBarClicked(int index);
void on_m_lpCliffhanger_clicked();
void on_m_lpCliffhanger_clicked();
void on_m_lpFirstAired_dateChanged(const QDate &date);
void on_m_lpFirstAired_dateChanged(const QDate &date);
private:
Ui::cEdit* ui;
@@ -59,7 +58,6 @@ private:
QPushButton* m_lpAllDone;
QSpacerItem* m_lpVerticalSpacer;
// QDialogButtonBox* m_lpButtonBox;
cSerie* m_lpSerie;
};
+168 -22
View File
@@ -10,6 +10,7 @@
#include "cmessageanimatedialog.h"
#include "cmessagedialog.h"
#include "cedit.h"
#include "cmovieedit.h"
#include "cimage.h"
#include "cthemoviedbv3.h"
@@ -623,7 +624,7 @@ void cMainWindow::displayMovies()
lpRoot = 0;
else
{
lpRoot = new QStandardItem(szOldCollection);
lpRoot = new QStandardItem(QString("<font color='white'><b>%1</b></font>").arg(szOldCollection));
m_lpMoviesListModel->appendRow(lpRoot);
}
}
@@ -702,8 +703,42 @@ void cMainWindow::showMoviesContextMenu(QTreeView* lpTreeView, const QPoint &pos
lpMenu->addAction("add", this, SLOT(onActionMovieAdd()));
lpMenu->addAction("update all", this, SLOT(onActionMovieUpdateAll()));
lpMenu->addSeparator();
if(lpTreeView->selectionModel()->selectedRows().count() == 1)
{
cMovie* lpMovie = m_lpMoviesListModel->itemFromIndex(lpTreeView->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cMovie*>();
if(lpMovie)
{
lpMenu->addAction("update", this, SLOT(onActionMovieUpdate()));
lpMenu->addAction("delete", this, SLOT(onActionMovieDelete()));
lpMenu->addAction("edit", this, SLOT(onActionMovieEdit()));
lpMenu->addSeparator();
if(!lpMovie->imdbID().isEmpty())
lpMenu->addAction("open IMDB", this, SLOT(onActionMovieGotoIMDB()));
// if(!lpMovie->download().isEmpty())
// {
// lpMenu->addAction("open download link", this, SLOT(onActionMovieGotoDownload()));
// lpMenu->addAction("copy download link", this, SLOT(onActionMovieCopyDownload()));
// }
lpMenu->addSeparator();
lpMenu->addAction("load images", this, SLOT(onActionMovieLoadPictures()));
}
}
else if(lpTreeView->selectionModel()->selectedRows().count())
{
lpMenu->addAction("update selected", this, SLOT(onActionMovieUpdate()));
lpMenu->addAction("delete selected", this, SLOT(onActionMovieDelete()));
lpMenu->addSeparator();
lpMenu->addAction("load images", this, SLOT(onActionLoadMoviePictures()));
}
lpMenu->popup(lpTreeView->viewport()->mapToGlobal(pos));
}
bool cMainWindow::runEdit(cSerie* lpSerie, QString& szDownload)
{
cEdit* lpEdit = new cEdit;
@@ -775,6 +810,52 @@ bool cMainWindow::runEdit(cSerie* lpSerie, QString& szDownload)
return(true);
}
bool cMainWindow::runMovieEdit(cMovie *lpMovie)
{
cMovieEdit* lpMovieEdit = new cMovieEdit(this);
cMessageAnimateDialog* lpDialog = new cMessageAnimateDialog(this);
lpDialog->setTitle("Edit");
lpDialog->setMessage("Loading");
lpDialog->show();
lpMovieEdit->setMovie(lpMovie);
QSettings settings;
qint16 iX = settings.value("movieEdit/x", QVariant::fromValue(-1)).toInt();
qint16 iY = settings.value("movieEdit/y", QVariant::fromValue(-1)).toInt();
qint16 iWidth = settings.value("movieEdit/width", QVariant::fromValue(-1)).toInt();
qint16 iHeight = settings.value("movieEdit/height", QVariant::fromValue(-1)).toInt();
if(iX != -1 && iY != -1)
lpMovieEdit->move(iX, iY);
if(iWidth != -1 && iHeight != -1)
lpMovieEdit->resize(iWidth, iHeight);
delete lpDialog;
qint16 ret = lpMovieEdit->exec();
settings.setValue("movieEdit/width", QVariant::fromValue(lpMovieEdit->size().width()));
settings.setValue("movieEdit/height", QVariant::fromValue(lpMovieEdit->size().height()));
settings.setValue("movieEdit/x", QVariant::fromValue(lpMovieEdit->x()));
settings.setValue("movieEdit/y", QVariant::fromValue(lpMovieEdit->y()));
if(this->isMaximized())
settings.setValue("movieEdit/maximized", QVariant::fromValue(true));
else
settings.setValue("movieEdit/maximized", QVariant::fromValue(false));
if(ret == QDialog::Rejected)
{
delete lpMovieEdit;
return(false);
}
delete lpMovieEdit;
return(true);
}
void cMainWindow::onActionAdd()
{
cSearch* lpSearch = new cSearch(this);
@@ -890,15 +971,7 @@ void cMainWindow::onActionMovieAdd()
delete lpDialog;
lpDialog = new cMessageAnimateDialog(this);
lpDialog->setTitle("Update");
lpDialog->setMessage("Updating");
lpDialog->show();
lpMovie->save(m_db);
/*
QString szDownload;
if(!runEdit(lpSerie, szDownload))
if(!runMovieEdit(lpMovie))
return;
lpDialog = new cMessageAnimateDialog(this);
@@ -906,18 +979,16 @@ void cMainWindow::onActionMovieAdd()
lpDialog->setMessage("Updating");
lpDialog->show();
lpSerie->save(m_db);
*/
lpMovie->save(m_db);
}
else
{
/*
lpSerie = new cSerie;
lpSerie->setSeriesName(szPlaceholder);
lpMovie = new cMovie;
lpMovie->setMovieTitle(szPlaceholder);
qint32 iMax = 0;
QSqlQuery query;
if(query.exec("SELECT MAX(id) FROM serie;"))
if(query.exec("SELECT MAX(movieID) FROM movie;"))
{
query.next();
if(query.isValid())
@@ -927,10 +998,9 @@ void cMainWindow::onActionMovieAdd()
iMax = 1000000;
else
iMax++;
lpSerie->setID(iMax);
lpSerie->setFirstAired(QDate(iYear, 1, 1));
lpSerie->save(m_db);
*/
lpMovie->setMovieID(iMax);
lpMovie->setReleaseDate(QString("%1-01-01").arg(iYear));
lpMovie->save(m_db);
}
loadMoviesDB();
@@ -947,6 +1017,10 @@ void cMainWindow::onActionUpdateAll()
doUpdate(serieList);
}
void cMainWindow::onActionMovieUpdateAll()
{
}
void cMainWindow::onActionUpdateUnfinished()
{
cSerieList serieList;
@@ -974,6 +1048,10 @@ void cMainWindow::onActionUpdate()
doUpdate(serieList);
}
void cMainWindow::onActionMovieUpdate()
{
}
void cMainWindow::doUpdate(cSerieList& serieList)
{
if(serieList.count())
@@ -1045,6 +1123,28 @@ void cMainWindow::onActionDelete()
delete lpDialog;
}
void cMainWindow::onActionMovieDelete()
{
if(QMessageBox::question(this, "Delete Movie", "Are you sure?") == QMessageBox::No)
return;
cMovie* lpMovie = m_lpMoviesListModel->itemFromIndex(ui->m_lpMoviesList->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cMovie*>();
if(!lpMovie)
return;
cMessageAnimateDialog* lpDialog = new cMessageAnimateDialog(this);
lpDialog->setTitle("Delete");
lpDialog->setMessage("Deleting");
lpDialog->show();
lpMovie->del(m_db);
loadMoviesDB();
displayMovies();
delete lpDialog;
}
void cMainWindow::onActionEdit()
{
cSerie* lpSerie = m_lpSeriesListModel->itemFromIndex(ui->m_lpSeriesList1->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cSerie*>();
@@ -1067,23 +1167,52 @@ void cMainWindow::onActionEdit()
lpSerie->save(m_db);
m_szOldSelected = lpSerie->seriesName();
loadDB();
loadSeriesDB();
displaySeries();
delete lpDialog;
}
void cMainWindow::onActionMovieEdit()
{
cMovie* lpMovie = m_lpMoviesListModel->itemFromIndex(ui->m_lpMoviesList->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cMovie*>();
if(!lpMovie)
return;
QString szDownload;
if(!runMovieEdit(lpMovie))
return;
cMessageAnimateDialog* lpDialog = new cMessageAnimateDialog(this);
lpDialog->setTitle("Update");
lpDialog->setMessage("Updating");
lpDialog->show();
lpMovie->del(m_db);
lpMovie->save(m_db);
m_szOldSelected = lpMovie->movieTitle();
loadMoviesDB();
displayMovies();
delete lpDialog;
}
void cMainWindow::on_m_lpSeriesList1_doubleClicked(const QModelIndex &/*index*/)
{
onActionEdit();
}
void cMainWindow::on_m_lpSeriesList2_doubleClicked(const QModelIndex &/*index*/)
{
onActionEdit();
}
void cMainWindow::on_m_lpMoviesList_doubleClicked(const QModelIndex &index)
{
onActionMovieEdit();
}
void cMainWindow::onActionGotoIMDB()
{
if(ui->m_lpSeriesList1->selectionModel()->selectedRows().count())
@@ -1097,6 +1226,19 @@ void cMainWindow::onActionGotoIMDB()
}
}
void cMainWindow::onActionMovieGotoIMDB()
{
if(ui->m_lpMoviesList->selectionModel()->selectedRows().count())
{
cMovie* lpMovie = m_lpMoviesListModel->itemFromIndex(ui->m_lpMoviesList->selectionModel()->selectedRows().at(0))->data(Qt::UserRole).value<cMovie*>();
if(lpMovie)
{
QString link = QString("http://www.imdb.com/title/%1").arg(lpMovie->imdbID());
QDesktopServices::openUrl(QUrl(link));
}
}
}
void cMainWindow::onActionGotoDownload()
{
if(ui->m_lpSeriesList1->selectionModel()->selectedRows().count())
@@ -1162,6 +1304,10 @@ void cMainWindow::onActionLoadPictures()
m_lpPicturesThread->start();
}
void cMainWindow::onActionMovieLoadPictures()
{
}
void cMainWindow::picturesMessage(const QString& szMessage, const qint32& iProgress)
{
m_lpMessageDialog->setMessage(szMessage);
+8
View File
@@ -45,6 +45,7 @@ private slots:
void on_m_lpSeriesList2_pressed(const QModelIndex &index);
void on_m_lpMoviesList_customContextMenuRequested(const QPoint &pos);
void on_m_lpMoviesList_doubleClicked(const QModelIndex &index);
void onActionAdd();
void onActionUpdateAll();
@@ -58,6 +59,12 @@ private slots:
void onActionLoadPictures();
void onActionMovieAdd();
void onActionMovieUpdateAll();
void onActionMovieUpdate();
void onActionMovieDelete();
void onActionMovieEdit();
void onActionMovieGotoIMDB();
void onActionMovieLoadPictures();
void updateMessage(const QString& szMessage, const qint32 &iProgress);
void updateAppendMessage(const QString& szMessage);
@@ -101,6 +108,7 @@ private:
void displayMovies();
bool runEdit(cSerie *lpSerie, QString& szDownload);
bool runMovieEdit(cMovie *lpMovie);
void showSeriesContextMenu(QTreeView* lpTreeView, const QPoint &pos);
void doUpdate(cSerieList& serieList);
+12 -2
View File
@@ -10,9 +10,19 @@
#include <QMapIterator>
cMovie::cMovie()
cMovie::cMovie() :
m_szOverview(QString("")),
m_dPopularity(0.0),
m_szPosterPath(QString("")),
m_dRevenue(0.0),
m_iRuntime(0),
m_szStatus(QString("")),
m_szTagline(QString("")),
m_bVideo(false),
m_dVoteAverage(0.0),
m_iVoteCount(0),
m_iState(StateInit)
{
}
void cMovie::setMovieTitle(const QString& szTitle)
+81
View File
@@ -0,0 +1,81 @@
#include "cmovieedit.h"
#include "cmovieimage.h"
#include "ui_cmovieedit.h"
cMovieEdit::cMovieEdit(QWidget *parent) :
QDialog(parent),
ui(new Ui::cMovieEdit),
m_lpMovie(0)
{
ui->setupUi(this);
}
cMovieEdit::~cMovieEdit()
{
delete ui;
}
void cMovieEdit::setMovie(cMovie *lpMovie)
{
m_lpMovie = lpMovie;
if(!lpMovie)
return;
ui->m_lpName->setText(lpMovie->movieTitle());
ui->m_lpFirstAired->setDate(lpMovie->releaseDate());
switch(lpMovie->state())
{
case cMovie::StateInit:
ui->m_lpInit->setChecked(true);
break;
case cMovie::StateProgress:
ui->m_lpProgress->setChecked(true);
case cMovie::StateDone:
ui->m_lpDone->setChecked(true);
break;
}
if(!m_lpMovie->backdropPath().isEmpty())
{
cMovieImage image;
QPixmap banner = image.getImage(m_lpMovie->backdropPath());
ui->m_lpDetailsBanner->setPixmap(banner);
}
ui->m_lpDetailsOverview->setText(m_lpMovie->overview());
QTreeWidgetItem* lpItem;
for(int x = 0;x < m_lpMovie->cast().count();x++)
{
QStringList str = m_lpMovie->cast().at(x).split(",");
lpItem = new QTreeWidgetItem(ui->m_lpDetailsActors);
lpItem->setText(0, str.at(0));
lpItem->setText(1, str.at(1));
ui->m_lpDetailsActors->addTopLevelItem(lpItem);
}
for(int x = 0;x < m_lpMovie->genres().count();x++)
{
lpItem = new QTreeWidgetItem(ui->m_lpDetailsGenre);
lpItem->setText(0, m_lpMovie->genres().at(x));
ui->m_lpDetailsGenre->addTopLevelItem(lpItem);
}
}
void cMovieEdit::on_m_lpInit_clicked()
{
m_lpMovie->setState(cMovie::StateInit);
}
void cMovieEdit::on_m_lpProgress_clicked()
{
m_lpMovie->setState(cMovie::StateProgress);
}
void cMovieEdit::on_m_lpDone_clicked()
{
m_lpMovie->setState(cMovie::StateDone);
}
+35
View File
@@ -0,0 +1,35 @@
#ifndef CMOVIEEDIT_H
#define CMOVIEEDIT_H
#include "cmovie.h"
#include <QDialog>
namespace Ui {
class cMovieEdit;
}
class cMovieEdit : public QDialog
{
Q_OBJECT
public:
explicit cMovieEdit(QWidget *parent = 0);
~cMovieEdit();
void setMovie(cMovie* lpMovie);
private slots:
void on_m_lpInit_clicked();
void on_m_lpProgress_clicked();
void on_m_lpDone_clicked();
private:
Ui::cMovieEdit *ui;
cMovie* m_lpMovie;
};
#endif // CMOVIEEDIT_H
+257
View File
@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>cMovieEdit</class>
<widget class="QDialog" name="cMovieEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>805</width>
<height>582</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="3,1">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLineEdit" name="m_lpName">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Year:</string>
</property>
</widget>
</item>
<item>
<widget class="QDateEdit" name="m_lpFirstAired">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="m_lpInit">
<property name="text">
<string>Initialized</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="m_lpProgress">
<property name="text">
<string>in Progress</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="m_lpDone">
<property name="text">
<string>done</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="m_lpDetailsBanner">
<property name="minimumSize">
<size>
<width>310</width>
<height>200</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>785</width>
<height>310</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QTextEdit" name="m_lpDetailsOverview">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="2,1">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="cVerticalLabel" name="label_2">
<property name="text">
<string>Actors</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="m_lpDetailsActors">
<property name="columnCount">
<number>2</number>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">2</string>
</property>
</column>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="cVerticalLabel" name="label_3">
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeWidget" name="m_lpDetailsGenre">
<property name="columnCount">
<number>2</number>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">2</string>
</property>
</column>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
<item row="2" column="0">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>cVerticalLabel</class>
<extends>QLabel</extends>
<header>cverticallabel.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>cMovieEdit</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>cMovieEdit</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>
+64
View File
@@ -0,0 +1,64 @@
#include "common.h"
#include "cmovieimage.h"
#include <QDir>
#include <QFile>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QEventLoop>
#include <QUrl>
cMovieImage::cMovieImage()
{
}
QPixmap cMovieImage::getImage(const QString& szFileName)
{
QPixmap pixmap;
QString szPath = rootPath() + QDir::separator() + "t" + QDir::separator() + "p" + QDir::separator() + "w300" + QDir::separator() + szFileName.right(szFileName.length()-1);
if(szFileName.isEmpty())
pixmap.load(rootPath() + QDir::separator() + QDir::separator() + "empty.jpg");
else
pixmap.load(szPath);
if(!pixmap.width())
return(downloadFile(szFileName));
return(pixmap);
}
QPixmap cMovieImage::downloadFile(const QString& szFileName)
{
QPixmap pixmap;
QString szPath = rootPath() + QDir::separator() + "t" + QDir::separator() + "p" + QDir::separator() + "w300" + QDir::separator() + szFileName.right(szFileName.length()-1);
QString szURL = "http://image.tmdb.org/t/p/w300" + szFileName;
QNetworkAccessManager networkManager;
QUrl url(szURL);
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/xml");
QNetworkReply* reply = networkManager.get(request);
QEventLoop loop;
QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
QByteArray szData = reply->readAll();
delete reply;
pixmap.loadFromData(szData);
QDir dir(szPath);
QFileInfo fileInfo(szPath);
dir.mkpath(dir.filePath(fileInfo.absolutePath()));
pixmap.save(szPath);
return(pixmap);
}
+17
View File
@@ -0,0 +1,17 @@
#ifndef CMOVIEIMAGE_H
#define CMOVIEIMAGE_H
#include <QPixmap>
class cMovieImage
{
public:
cMovieImage();
QPixmap getImage(const QString& szFileName);
private:
QPixmap downloadFile(const QString& szFileName);
};
#endif // CMOVIEIMAGE_H
+51 -6
View File
@@ -5,6 +5,8 @@
#include <QPainter>
#include <QTextDocument>
#include <QAbstractTextDocumentLayout>
#include <QAbstractItemModel>
#include <QStandardItemModel>
#define STATE_INIT Qt::gray
@@ -39,10 +41,47 @@ void cMovieViewItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem
if(!lpMovie)
{
QItemModel* lpModel = (QItemModel*)index.model();
aaaaa
int statusInit = 0;
int statusProg = 0;
int statusDone = 0;
QStandardItemModel* lpModel = (QStandardItemModel*)index.model();
QStandardItem* lpParent = lpModel->itemFromIndex(index);
if(lpParent)
{
int x = 0;
QStandardItem* lpChild = lpParent->child(x);
while(lpChild)
{
cMovie* lpMovie1 = qvariant_cast<cMovie*>(lpChild->data(Qt::UserRole));
if(lpMovie1)
{
switch(lpMovie1->state())
{
case cMovie::StateInit:
statusInit++;
break;
case cMovie::StateProgress:
statusProg++;
break;
case cMovie::StateDone:
statusDone++;
break;
}
}
x++;
lpChild = lpParent->child(x);
}
}
if(statusProg)
painter->setBrush(STATE_PROGRESS);
else if(statusInit)
painter->setBrush(STATE_INIT);
else
painter->setBrush(STATE_DONE);
}
if(lpMovie)
else
{
oldBrush = painter->brush();
@@ -60,10 +99,16 @@ void cMovieViewItemDelegate::paint(QPainter* painter, const QStyleOptionViewItem
default:
break;
}
painter->drawRect(clip);
painter->setBrush(oldBrush);
}
QRect back = clip;
back.setLeft(back.left()+2);
back.setRight(back.right()-2);
back.setTop(back.top()+4);
back.setBottom(back.bottom()-4);
painter->drawRect(back);
painter->setBrush(oldBrush);
QAbstractTextDocumentLayout::PaintContext ctx;
// set text color to red for selected item
+8 -3
View File
@@ -33,7 +33,9 @@ SOURCES += main.cpp\
cmovie.cpp \
cmoviesearch.cpp \
cmovieviewitemdelegate.cpp \
common.cpp
common.cpp \
cmovieedit.cpp \
cmovieimage.cpp
HEADERS += cmainwindow.h \
cserie.h \
@@ -55,7 +57,9 @@ HEADERS += cmainwindow.h \
cmovie.h \
cmoviesearch.h \
cmovieviewitemdelegate.h \
common.h
common.h \
cmovieedit.h \
cmovieimage.h
FORMS += cmainwindow.ui \
csearch.ui \
@@ -64,7 +68,8 @@ FORMS += cmainwindow.ui \
cseasondetails.ui \
cepisodedetails.ui \
cmessagedialog.ui \
cmoviesearch.ui
cmoviesearch.ui \
cmovieedit.ui
DISTFILES +=