void HgWidgetOptionsView::updateData(QModelIndex startIn, QModelIndex endIn) { Q_UNUSED(endIn); if (!mContentReady) return; QSettings settings(SETT_ORGANIZATION, SETT_APPLICATION); HbDataFormModelItem *item = mModel->itemFromIndex(startIn); if( !item ) return; if (item->data(HbDataFormModelItem::LabelRole).toString() == WIDGET_TYPE) { int index = item->contentWidgetData(QString("currentIndex")).toInt(); HgTestWidgetType type = HgWidgetNone; switch (index) { case 0: type = HgWidgetGrid; break; case 1: type = HgWidgetCoverflow; break; case 2: type = HgWidgetTBone; break; default: break; } setCoverflowEnabled(index == 1 || index == 2); settings.setValue(SETT_WIDGET_TYPE, type); emit widgetTypeChanged(type); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == SCROLLBAR_VISIBILITY) { int index = item->contentWidgetData(QString("currentIndex")).toInt(); HgWidget::ScrollBarPolicy visibility = HgWidget::ScrollBarAutoHide; switch (index) { case 0: visibility = HgWidget::ScrollBarAutoHide; break; case 1: visibility = HgWidget::ScrollBarAlwaysOn; break; case 2: visibility = HgWidget::ScrollBarAlwaysOff; break; default: break; } settings.setValue(SETT_SCROLLBAR_VISIBILITY, visibility); emit scrollBarVisibilityChanged(visibility); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == INTERACTIVE_SCROLLBAR) { QVariant data = item->contentWidgetData(QString("text")); bool value = data.toString() == "yes"; settings.setValue(SETT_SCROLLBAR_INTERACTIVITY, value); if (value) { item = mModel->itemFromIndex(mModel->index(ItemScrollBarVisibility, 0)); if (item) { item->setContentWidgetData(QString("currentIndex"), 1); // Set scroll bar always on } } emit scrollBarInteractivityChanged(value); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == MODEL_IMAGE_TYPE) { int index = item->contentWidgetData(QString("currentIndex")).toInt(); HgTestImageType type = ImageTypeNone; switch (index) { case 0: type = ImageTypeQImage; break; case 1: type = ImageTypeHbIcon; break; case 2: type = ImageTypeQIcon; break; case 3: type = ImageTypeQPixmap; break; default: break; } settings.setValue(SETT_MODEL_IMAGE_TYPE, type); emit imageTypeChanged(type); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == WIDGET_HEIGHT) { emit widgetHeightChanged(item->contentWidgetData(QString("text")).toInt()); storeWidgetSize(); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == WIDGET_WIDTH) { emit widgetWidthChanged(item->contentWidgetData(QString("text")).toInt()); storeWidgetSize(); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == LOW_RES_IMAGES) { QVariant data = item->contentWidgetData(QString("text")); bool value = data.toString() == "yes"; settings.setValue(SETT_LOW_RES_IMAGES, value); emit lowResImageUseChanged(value); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == TITLE_FONT) { int index = item->contentWidgetData(QString("currentIndex")).toInt(); HbFontSpec::Role role = HbFontSpec::Undefined; switch (index) { case 0: role = HbFontSpec::Primary; break; case 1: role = HbFontSpec::Secondary; break; case 2: role = HbFontSpec::Title; break; case 3: role = HbFontSpec::PrimarySmall; break; case 4: role = HbFontSpec::Digital; break; default: break; } settings.setValue(SETT_TITLE_FONT, role); emit titleFontChanged(HbFontSpec(role)); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == DESCRIPTION_FONT) { int index = item->contentWidgetData(QString("currentIndex")).toInt(); HbFontSpec::Role role = HbFontSpec::Undefined; switch (index) { case 0: role = HbFontSpec::Primary; break; case 1: role = HbFontSpec::Secondary; break; case 2: role = HbFontSpec::Title; break; case 3: role = HbFontSpec::PrimarySmall; break; case 4: role = HbFontSpec::Digital; break; default: break; } settings.setValue(SETT_DESCRIPTION_FONT, role); emit descriptionFontChanged(HbFontSpec(role)); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == REFLECTIONS_ENABLED) { QVariant data = item->contentWidgetData(QString("text")); bool value = data.toString() == "yes"; settings.setValue(SETT_REFLECTIONS_ENABLED, value); emit reflectionsEnabledChanged(value); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == EFFECT3D_ENABLED) { QVariant data = item->contentWidgetData(QString("text")); bool value = data.toString() == "yes"; settings.setValue(SETT_EFFECT3D_ENABLED, value); emit effect3dEnabledChanged(value); } else if (item->data(HbDataFormModelItem::LabelRole).toString() == ITEM_SIZE_POLICY) { QVariant data = item->contentWidgetData(QString("text")); HgWidget::ItemSizePolicy value = (data.toString() == "Automatic" ? HgWidget::ItemSizeAutomatic : HgWidget::ItemSizeUserDefined); settings.setValue(SETT_ITEM_SIZE_POLICY, value); emit itemSizePolicyChanged(value); } }
EditorView::EditorView(QWidget *parent) : QWidget(parent) { p = new EditorViewPrivate; p->save_timer = 0; p->paperId = 0; p->signal_blocker = false; p->synced = true; p->has_files = false; if( !back_image ) back_image = new QImage(":/qml/Kaqaz/files/background.jpg"); if( !papers_image ) papers_image = new QImage(":/qml/Kaqaz/files/paper.png"); if( !paper_clip ) paper_clip = new QImage(":/qml/Kaqaz/files/paper-clip.png"); if( !paper_clip_off ) paper_clip_off = new QImage(":/qml/Kaqaz/files/paper-clip-off.png"); p->attach_img = *paper_clip; p->title_font = Kaqaz::instance()->titleFont(); p->body_font = Kaqaz::instance()->bodyFont(); p->group_font.setFamily("Droid Kaqaz Sans"); p->group_font.setPointSize(9); p->date_font.setFamily("Droid Kaqaz Sans"); p->date_font.setPointSize(8); p->group = new GroupButton(this); p->group->move(25,PAPER_BRD-1); p->group->setFixedSize(110,30); p->group->setFont(p->group_font); p->title = new QLineEdit(); p->title->setPlaceholderText( tr("Title") ); p->title->setAlignment(Qt::AlignHCenter); p->title->setFont(p->title_font); p->title->setStyleSheet("QLineEdit{background: transparent; border: 0px solid translarent}"); p->body = new PaperTextArea(); p->body->setPlaceholderText( tr("Text...") ); p->body->setViewFont(p->body_font); p->body->setStyleSheet("QTextEdit{background: transparent; border: 0px solid translarent}"); p->date = new QLabel(this); p->date->setFixedWidth(200); p->date->setFont(p->date_font); p->top_layout = new QHBoxLayout(); p->top_layout->addSpacing(p->group->width()); p->top_layout->addWidget(p->title); p->top_layout->addSpacing(p->group->width()); p->top_layout->setContentsMargins(0,0,0,0); p->top_layout->setSpacing(0); p->main_layout = new QVBoxLayout(this); p->main_layout->addLayout(p->top_layout); p->main_layout->addWidget(p->body); p->main_layout->setContentsMargins(30,20,30,45); p->main_layout->setSpacing(0); p->attach_btn = new QPushButton(this); p->attach_btn->setFixedSize( PAPER_CLP, PAPER_CLP ); p->attach_btn->move( width()-PAPER_CLP, height()-PAPER_CLP ); p->attach_btn->setStyleSheet("QPushButton{ border: 0px solid transparent; background: transparent }"); p->attach_btn->setCursor(Qt::PointingHandCursor); p->files = new PaperFilesView(this); p->files->setFixedSize( width(), FILES_HEIGHT ); p->files->move( 0, height()-FILES_HEIGHT ); p->files->hide(); setStyleSheet("QScrollBar:vertical { border: 0px solid transparent; background: transparent; max-width: 5px; min-width: 5px; }" "QScrollBar::handle:vertical { border: 0px solid transparent; background: #aaaaaa; width: 5px; min-width: 5px; min-height: 30px }" "QScrollBar::handle:hover { background: palette(highlight); }" "QScrollBar::add-line:vertical { border: 0px solid transparent; background: transparent; height: 0px; subcontrol-position: bottom; subcontrol-origin: margin; }" "QScrollBar::sub-line:vertical { border: 0px solid transparent; background: transparent; height: 0px; subcontrol-position: top; subcontrol-origin: margin; }" ); connect( p->title, SIGNAL(textChanged(QString)), SLOT(delayedSave()) ); connect( p->body , SIGNAL(textChanged()) , SLOT(delayedSave()) ); connect( p->group, SIGNAL(groupSelected(int)) , SLOT(delayedSave()) ); connect( p->attach_btn, SIGNAL(clicked()), p->files, SLOT(show()) ); connect( Kaqaz::instance(), SIGNAL(titleFontChanged()) , SLOT(titleFontChanged()) ); connect( Kaqaz::instance(), SIGNAL(bodyFontChanged()) , SLOT(bodyFontChanged()) ); connect( Kaqaz::database(), SIGNAL(revisionChanged(QString,int)), SLOT(revisionChanged(QString,int)) ); connect( Kaqaz::database(), SIGNAL(paperChanged(int)) , SLOT(paperChanged(int)) ); }