Merge branch 'develop' into feature/Feature-TOC

This commit is contained in:
Arin Alexander 2017-08-19 00:36:44 +03:00
commit c7a5646241
5 changed files with 46 additions and 2 deletions

View File

@ -69,7 +69,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
LIMEREPORT_VERSION_MAJOR = 1 LIMEREPORT_VERSION_MAJOR = 1
LIMEREPORT_VERSION_MINOR = 4 LIMEREPORT_VERSION_MINOR = 4
LIMEREPORT_VERSION_RELEASE = 38 LIMEREPORT_VERSION_RELEASE = 39
LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"' LIMEREPORT_VERSION = '\\"$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}\\"'
DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\" DEFINES += LIMEREPORT_VERSION_STR=\"$${LIMEREPORT_VERSION}\"

View File

@ -59,6 +59,9 @@ ReportDesignWidget::ReportDesignWidget(ReportEngine *report, QMainWindow *mainWi
{ {
m_tabWidget = new QTabWidget(this); m_tabWidget = new QTabWidget(this);
m_tabWidget->setTabPosition(QTabWidget::South); m_tabWidget->setTabPosition(QTabWidget::South);
m_tabWidget->setMovable(true);
connect(m_tabWidget->tabBar(), SIGNAL(tabMoved(int,int)), this, SLOT(slotTabMoved(int,int)));
QVBoxLayout* mainLayout = new QVBoxLayout(this); QVBoxLayout* mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(m_tabWidget); mainLayout->addWidget(m_tabWidget);
setLayout(mainLayout); setLayout(mainLayout);
@ -631,8 +634,10 @@ void ReportDesignWidget::addPage()
PageDesignIntf* page = m_report->appendPage("page"+QString::number(m_report->pageCount()+1)); PageDesignIntf* page = m_report->appendPage("page"+QString::number(m_report->pageCount()+1));
view->setScene(page); view->setScene(page);
int index = m_report->pageCount()-1; int index = m_report->pageCount()-1;
m_tabWidget->insertTab(index,view,QIcon(),tr("Page")+QString::number(m_report->pageCount())); m_tabWidget->insertTab(index,view,QIcon(),page->pageItem()->objectName());
m_tabWidget->setCurrentIndex(index); m_tabWidget->setCurrentIndex(index);
connect(page->pageItem(), SIGNAL(propertyObjectNameChanged(QString,QString)),
this, SLOT(slotPagePropertyObjectNameChanged(QString,QString)));
connectPage(page); connectPage(page);
view->scale(0.5,0.5); view->scale(0.5,0.5);
view->centerOn(0,0); view->centerOn(0,0);
@ -811,6 +816,33 @@ void ReportDesignWidget::slotDialogNameChanged(QString oldName, QString newName)
#endif #endif
void ReportDesignWidget::slotPagePropertyObjectNameChanged(const QString &oldValue, const QString &newValue)
{
for (int i = 0; i < m_tabWidget->count(); ++i ){
if (m_tabWidget->tabText(i).compare(oldValue) == 0){
m_tabWidget->setTabText(i, newValue);
}
}
}
void ReportDesignWidget::slotTabMoved(int from, int to)
{
QList<PageDesignIntf*> pages;
for ( int i = 0; i < m_tabWidget->tabBar()->count(); ++i){
QGraphicsView* view = dynamic_cast<QGraphicsView*>(m_tabWidget->widget(i));
if (view){
PageDesignIntf* page = dynamic_cast<PageDesignIntf*>(view->scene());
if (page){
pages.append(page);
}
}
}
m_report->reorderPages(pages);
}
bool ReportDesignWidget::eventFilter(QObject *target, QEvent *event) bool ReportDesignWidget::eventFilter(QObject *target, QEvent *event)
{ {
if (event->type() == QEvent::Wheel){ if (event->type() == QEvent::Wheel){

View File

@ -159,6 +159,8 @@ private slots:
void slotDialogChanged(QString); void slotDialogChanged(QString);
void slotDialogNameChanged(QString oldName, QString newName); void slotDialogNameChanged(QString oldName, QString newName);
#endif #endif
void slotPagePropertyObjectNameChanged(const QString& oldValue, const QString& newValue);
void slotTabMoved(int from, int to);
signals: signals:
void insertModeStarted(); void insertModeStarted();
void itemInserted(LimeReport::PageDesignIntf*,QPointF,const QString&); void itemInserted(LimeReport::PageDesignIntf*,QPointF,const QString&);

View File

@ -112,6 +112,7 @@ PageDesignIntf *ReportEnginePrivate::createPage(const QString &pageName)
{ {
PageDesignIntf* page =new PageDesignIntf(); PageDesignIntf* page =new PageDesignIntf();
page->setObjectName(pageName); page->setObjectName(pageName);
page->pageItem()->setObjectName("Report"+pageName);
page->setReportEditor(this); page->setReportEditor(this);
page->setReportSettings(&m_reportSettings); page->setReportSettings(&m_reportSettings);
return page; return page;
@ -765,6 +766,14 @@ void ReportEnginePrivate::setPassPhrase(const QString &passPhrase)
m_passPhrase = passPhrase; m_passPhrase = passPhrase;
} }
void ReportEnginePrivate::reorderPages(const QList<PageDesignIntf *>& reorderedPages)
{
m_pages.clear();
foreach(PageDesignIntf* page, reorderedPages){
m_pages.append(page);
}
}
bool ReportEnginePrivate::addTranslationLanguage(QLocale::Language language) bool ReportEnginePrivate::addTranslationLanguage(QLocale::Language language)
{ {
if (!m_translations.keys().contains(language)){ if (!m_translations.keys().contains(language)){

View File

@ -136,6 +136,7 @@ public:
bool setReportLanguage(QLocale::Language language); bool setReportLanguage(QLocale::Language language);
QList<QLocale::Language> aviableLanguages(); QList<QLocale::Language> aviableLanguages();
ReportTranslation* reportTranslation(QLocale::Language language); ReportTranslation* reportTranslation(QLocale::Language language);
void reorderPages(const QList<PageDesignIntf *> &reorderedPages);
signals: signals:
void pagesLoadFinished(); void pagesLoadFinished();
void datasourceCollectionLoadFinished(const QString& collectionName); void datasourceCollectionLoadFinished(const QString& collectionName);