mirror of
				https://github.com/fralx/LimeReport.git
				synced 2025-11-04 15:11:26 +03:00 
			
		
		
		
	Pages reordering has been added
# Conflicts: # limereport/lrreportdesignwidget.cpp # limereport/lrreportdesignwidget.h # limereport/lrreportengine.cpp # limereport/lrreportengine_p.h
This commit is contained in:
		@@ -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}\"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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){
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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&);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)){
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user