void MList::updateData(const QList<const char *>& modifications)
{
    const char *member;
    for (int i = 0; i < modifications.count(); i++) {
        member = modifications[i];
        if (member == MListModel::ListIsMoving) {
            model()->listIsMoving() ? emit panningStarted() : emit panningStopped();
        }
    }
}
void
ThemeWidget::createWidgets ()
{
    QGraphicsLinearLayout *mainLayout;
    
    /*
     * Creating and setting up the main layout
     */
    mainLayout = new QGraphicsLinearLayout(Qt::Vertical);
    mainLayout->setContentsMargins (0., 0., 0., 0.);
    mainLayout->setSpacing (0.);

    /*
     * Creating the list with the available themes.
     */
    m_List = new MList();
    m_List->setObjectName ("ThemeList");

    // We only connect the themeChangeStarted if we have a chance to sense the
    // end of the theme change too. just to be sure.
    if (connect (m_ThemeBusinessLogic, SIGNAL (themeChanged (QString)),
                 SLOT (enableList ()))) {
        connect (m_ThemeBusinessLogic, SIGNAL (themeChangeStarted (QString)),
                 SLOT (disableList ()));
    }
    
    // Cellcreator
    m_CellCreator = new ThemeCellCreator;
    m_List->setCellCreator (m_CellCreator);
    m_List->setSelectionMode (MList::SingleSelection);

    // This function will create the m_LiveFilterEditor widget.
    readLocalThemes ();

    /*
     * An item to activate the OVI link.
     */
    m_OviItem = new MBasicListItem (MBasicListItem::IconWithTitle);
    m_OviItem->setObjectName("OviItem");

    // Currently we use the default.
    //m_OviItem->setLayoutPosition (M::VerticalCenterPosition);
    m_OviItem->imageWidget()->setImage ("icon-m-common-ovi");

    /*
     * Adding everything to the layout.
     */
    m_LiveFilterEditor->setParentLayoutItem (mainLayout);
    mainLayout->addItem (m_OviItem);
    mainLayout->addItem (m_List);

    /*
     * Connecting to the signals.
     */
    connect (m_OviItem, SIGNAL(clicked()),
            this, SLOT(oviActivated()));
    connect (m_LiveFilterEditor, SIGNAL(textChanged()),
            this, SLOT(textChanged ()));
    connect (m_List, SIGNAL(panningStarted()),
            this, SLOT(hideEmptyTextEdit()));
    connect (m_ThemeBusinessLogic, SIGNAL(refreshNeeded()),
            this, SLOT(refreshNeeded ()));

    setLayout(mainLayout);
    retranslateUi ();
}
Beispiel #3
0
OpenDialog::OpenDialog(QGraphicsWidget*, const QString &currentFileName)
{
    MWidget *centralWidget = new MWidget;
    MLayout *layout = new MLayout();
    layout->setContentsMargins(0,0,0,0);

    MLinearLayoutPolicy* landscapePolicy = new MLinearLayoutPolicy(layout, Qt::Vertical);
    MLinearLayoutPolicy* portraitPolicy = new MLinearLayoutPolicy(layout, Qt::Vertical);

  //  m_itemSize.setWidth(100);
  //  m_itemSize.setHeight(100);

    m_columnsPortrait = 4;
    m_columnsLandscape = 5;
    m_columnsLandscapeSlider = 0;
    m_columnsPortraitSlider = 0;


    list = new MList(this);
    list->setObjectName("list");
    landscapePolicy->addItem(list);
    portraitPolicy->addItem(list);

    landscapePolicy->setContentsMargins(20, 12, 20, 0);
    portraitPolicy->setContentsMargins(20, 24, 20, 0);

    layout->setLandscapePolicy(landscapePolicy);
    layout->setPortraitPolicy(portraitPolicy);


    //int initialWidth = MApplication::activeWindow()->visibleSceneSize().width();

  /*  if(MApplication::activeWindow()->orientation() == M::Portrait) {
        list->setColumns(m_columnsPortrait);
        m_itemSize.setWidth(initialWidth / m_columnsPortrait);
        m_itemSize.setHeight(m_itemSize.width());
    }
    else {
        list->setColumns(m_columnsLandscape);
        m_itemSize.setWidth(initialWidth / m_columnsLandscape);
        m_itemSize.setHeight(m_itemSize.width());
    }*/

    m_itemSize.setWidth(110);
    m_itemSize.setHeight(110);

    ContentItemCreator *cellCreator = new ContentItemCreator(this);
    list->setCellCreator(cellCreator);

    QStringList mediaDirs;
    mediaDirs << APP_CATALOG;

    model = new OpenDialogModel(this, m_itemSize.toSize(), mediaDirs, currentFileName);
    model->setObjectName("gridModel");
    list->setItemModel(model);

    connect(list, SIGNAL(itemClicked(QModelIndex)), this, SLOT(itemClicked(QModelIndex)));
    connect(list, SIGNAL(panningStarted()), this, SLOT(pauseLoaders()));
    connect(list, SIGNAL(panningStopped()), this, SLOT(resumeLoaders()));

    centralWidget->setLayout(layout);
    this->setTitle("Choose an image");
    this->setModal(true);
    this->setCentralWidget(centralWidget);
}