Esempio n. 1
0
bool Controller::jumpToChatListEntry(Dialogs::RowDescriptor row) {
	if (const auto history = row.key.history()) {
		Ui::showPeerHistory(history, row.fullId.msg);
		return true;
	} else if (const auto feed = row.key.feed()) {
		if (const auto item = App::histItemById(row.fullId)) {
			showSection(HistoryFeed::Memento(feed, item->position()));
		} else {
			showSection(HistoryFeed::Memento(feed));
		}
	}
	return false;
}
//---------------------------------------------------------------------------
void TSettingsEditDlg::showSections()
{
   SectionsList->Items->Clear();
   std::vector<std::string> sections;

   if (currSectionOnly)
   {
      sections.push_back(initialSection);
   }
   else
   {
      sections = bundle->getSections( );
   }

   Caption = Caption + ( " - " + bundle->getBundle() + " for " + bundle->getSection() ).c_str();

   int offset = 0;
   for ( unsigned int i = 0; i < sections.size(); i++ )
   {
      if ( sections[ i ] == bundle->getSection() )
         offset = i;
      SectionsList->Items->Add( sections[ i ].c_str() );
   }
   SectionsList->ItemIndex = offset;
   showSection( );
}
Esempio n. 3
0
void StretchHeaderView::UpdateWidths(const QList<int>& sections) {
  if (!stretch_enabled_)
    return;

  ColumnWidthType total_w = 0.0;

  for (int i=0 ; i<column_widths_.count() ; ++i) {
    const ColumnWidthType w = column_widths_[i];
    int pixels = w * width();

    if (pixels != 0 && total_w - int(total_w) > 0.5)
      pixels ++;

    total_w += w;

    if (!sections.isEmpty() && !sections.contains(i))
      continue;

    if (pixels == 0 && !isSectionHidden(i))
      hideSection(i);
    else if (pixels != 0 && isSectionHidden(i)) {
      showSection(i);
      AssertMinimalColumnWidth(i);
    }

    if (pixels != 0)
      resizeSection(i, pixels);
  }
}
Esempio n. 4
0
void
ViewHeader::toggleVisibility( int index )
{
    if ( isSectionHidden( index ) )
        showSection( index );
    else
        hideSection( index );
}
Esempio n. 5
0
void Navigation::showSettings(
		Settings::Type type,
		const SectionShow &params) {
	showSection(
		Info::Memento(
			Info::Settings::Tag{ _session->user() },
			Info::Section(type)),
		params);
}
Esempio n. 6
0
void
ViewHeader::toggleVisibility( int index )
{
    qDebug() << Q_FUNC_INFO << index;

    if ( isSectionHidden( index ) )
        showSection( index );
    else
        hideSection( index );
}
Esempio n. 7
0
void Navigation::showPeerInfo(
		PeerId peerId,
		const SectionShow &params) {
	//if (Adaptive::ThreeColumn()
	//	&& !_session->settings().thirdSectionInfoEnabled()) {
	//	_session->settings().setThirdSectionInfoEnabled(true);
	//	_session->saveSettingsDelayed();
	//}
	showSection(Info::Memento(peerId), params);
}
void QSpreadsheetHeaderView::mousePressEvent ( QMouseEvent * event )
{
    QHeaderView::mousePressEvent(event);

    int logicalIndex = logicalIndexAt(event->pos());

    if (buttonMenuRect(logicalIndex).contains(event->pos())) {
        QMenu menu(this);
        QAction *hideCol = menu.addAction("Hide column");
        QAction *sortAZ = menu.addAction("Sort sheet A->Z");
        QAction *sortZA = menu.addAction("Sort sheet Z->A");

        // Disable hide column if only one column remains. Otherwise
        // the gui is no more available to show them back.
        hideCol->setEnabled(hiddenSectionCount() < count() - 1);

        QAction *res = menu.exec(mapToGlobal(event->pos()));

        if (res == hideCol) {
            hideSection(logicalIndex);
            updateSection(logicalIndex-1);
        }
        if (res == sortAZ)
            model()->sort(logicalIndex, Qt::AscendingOrder);
        if (res == sortZA)
            model()->sort(logicalIndex, Qt::DescendingOrder);
    }

    // Catch previous arrow mouse click.
    if (prevRect(logicalIndex).contains(event->pos())) {
        showSection(logicalIndex - 1);
        updateSection(logicalIndex - 2);
    }

    // Catch next arrow mouse click.
    if (nextRect(logicalIndex).contains(event->pos())) {
        showSection(logicalIndex + 1);
        updateSection(logicalIndex + 2);
    }
}
Esempio n. 9
0
int PlayListWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QTreeWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: playListEmpty(); break;
        case 1: playItem((*reinterpret_cast< PlayListItem*(*)>(_a[1]))); break;
        case 2: addFile((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 3: addFile((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 4: addFile((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QMap<QString,QString>(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
        case 5: addFile((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QMap<QString,QString>(*)>(_a[2]))); break;
        case 6: { int _r = addDir((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 7: { int _r = addDir((*reinterpret_cast< QString(*)>(_a[1])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 8: removeSelected(); break;
        case 9: doubleClicked((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 10: scrollToActive(); break;
        case 11: deselect((*reinterpret_cast< QTreeWidgetItem*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
        case 12: clearPlayList(); break;
        case 13: { int _r = loadM3UPlayList((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 14: { int _r = loadM3UPlayList((*reinterpret_cast< QString(*)>(_a[1])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 15: { int _r = loadPLSPlayList((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 16: { int _r = loadPLSPlayList((*reinterpret_cast< QString(*)>(_a[1])));
            if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; }  break;
        case 17: saveM3UPlayList((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 18: savePLSPlayList((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 19: updateColumnWidth((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
        case 20: updateColumnPosition((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
        case 21: headerContextMenu((*reinterpret_cast< const QPoint(*)>(_a[1]))); break;
        case 22: setScroll(); break;
        case 23: hideSection(); break;
        case 24: showSection(); break;
        case 25: printPos((*reinterpret_cast< int(*)>(_a[1]))); break;
        default: ;
        }
        _id -= 26;
    }
    return _id;
}
Esempio n. 10
0
void StretchHeaderView::ShowSection(int logical) {
  if (!stretch_enabled_) {
    showSection(logical);
    return;
  }

  // How many sections are visible already?
  int visible_count = 0;
  for (int i=0 ; i<count() ; ++i) {
    if (!isSectionHidden(i))
      visible_count ++;
  }

  column_widths_[logical] =
      visible_count == 0 ? 1.0 : 1.0 / visible_count;
  NormaliseWidths();
  UpdateWidths();
}
Esempio n. 11
0
void WTrackTableViewHeader::showOrHideColumn(int column) {
    if (!m_columnActions.contains(column)) {
        qDebug() << "WTrackTableViewHeader got invalid column" << column;
        return;
    }

    QAction* action = m_columnActions[column];
    if (action->isChecked()) {
        showSection(column);
    } else {
        // If the user hides every column then the table will disappear. This
        // guards against that. NB: hiddenCount reflects checked QAction's so
        // size-hiddenCount will be zero the moment they uncheck the last
        // section.
        if (m_columnActions.size() - hiddenCount() > 0) {
            hideSection(column);
        } else {
            // Otherwise, ignore the request and re-check this QAction.
            action->setChecked(true);
        }
    }
}
Esempio n. 12
0
int test3(int argc, char** argv)
{
   int j = 0;
   int n = 0;
   int i = -1;
   const char* str;
   switch ( argc ) {
     case 5:
      {
       i = DtMmdbOpenInfoLib(argv[2], argv[3], DtMmdbFalse);
       j = DtMmdbGetBookCaseByName(i, argv[3]);

       DtMmdbInfoRequest* req = newDtMmdbInfoRequestWithPrimaryOid(j, argv[4]);
       showSection(req);
       break;
      }
      default:
       fprintf(stderr, "invalid arguments\n");
   }

   fprintf(stderr, "infolib desc=%d\n", i);
   return 0;
}
Esempio n. 13
0
void WTrackTableViewHeader::setModel(QAbstractItemModel* model) {
    TrackModel* oldTrackModel = getTrackModel();

    if (dynamic_cast<QAbstractItemModel*>(oldTrackModel) == model) {
        // If the models are the same, do nothing but the redundant call.
        QHeaderView::setModel(model);
        return;
    }

    // Won't happen in practice since the WTrackTableView new's a new
    // WTrackTableViewHeader each time a new TrackModel is loaded.
    // if (oldTrackModel) {
    //     saveHeaderState();
    // }

    // First clear all the context menu actions for the old model.
    clearActions();

    // Now set the header view to show the new model
    QHeaderView::setModel(model);

    // Now build actions for the new TrackModel
    TrackModel* trackModel = dynamic_cast<TrackModel*>(model);

    if (!trackModel) {
        return;
    }

    // Restore saved header state to get sizes, column positioning, etc. back.
    restoreHeaderState();

    // Here we can override values to prevent restoring corrupt values from database
    setMovable(true);

    // Setting true in the next line causes Bug #925619 at least with Qt 4.6.1
    setCascadingSectionResizes(false);

    setMinimumSectionSize(WTTVH_MINIMUM_SECTION_SIZE);

    int columns = model->columnCount();
    for (int i = 0; i < columns; ++i) {
        if (trackModel->isColumnInternal(i)) {
            continue;
        }

        QString title = model->headerData(i, orientation()).toString();
        QAction* action = new QAction(title, &m_menu);
        action->setCheckable(true);

        /* If Mixxx starts the first time or the header states have been cleared
         * due to database schema evolution we gonna hide all columns that may
         * contain a potential large number of NULL values.  Here we uncheck
         * item in the context menu that are hidden by defualt (e.g., key
         * column)
         */
        if (!hasPersistedHeaderState() &&
            trackModel->isColumnHiddenByDefault(i)) {
            action->setChecked(false);
        } else {
            action->setChecked(!isSectionHidden(i));
        }

        // Map this action's signals via our QSignalMapper
        m_signalMapper.setMapping(action, i);
        m_columnActions.insert(i, action);
        connect(action, SIGNAL(triggered()),
                &m_signalMapper, SLOT(map()));
        m_menu.addAction(action);

        // force the section size to be a least WTTVH_MINIMUM_SECTION_SIZE
        if (sectionSize(i) <  WTTVH_MINIMUM_SECTION_SIZE) {
            // This might happen if  WTTVH_MINIMUM_SECTION_SIZ has changed or
            // the header state from database was corrupt
            resizeSection(i,WTTVH_MINIMUM_SECTION_SIZE);
        }
    }

    // Safety check against someone getting stuck with all columns hidden
    // (produces an empty library table). Just re-show them all.
    if (hiddenCount() == columns) {
        for (int i = 0; i < columns; ++i) {
            showSection(i);
        }
    }
}
Esempio n. 14
0
void SectionTranspose::init(pp_int32 px, pp_int32 py)
{
	pp_int32 i;

	PPScreen* screen = tracker.screen;

	// test
	PPContainer* container = new PPContainer(CONTAINER_TRANSPOSE, tracker.screen, this, PPPoint(px, py), PPSize(320,UPPERLEFTSECTIONHEIGHT), false);
	container->setColor(TrackerConfig::colorThemeMain);	
	tracker.screen->addControl(container);

	const pp_int32 buttonIDs[4] =  {TRANSPOSE_BUTTON_AMOUNT_NOTEUP, 
									TRANSPOSE_BUTTON_AMOUNT_NOTEDOWN, 
									TRANSPOSE_BUTTON_AMOUNT_OCTAVEUP, 
									TRANSPOSE_BUTTON_AMOUNT_OCTAVEDOWN};

	const char* buttonTexts[4] =  {"Note Up",
								   "Note Dn",
								   "Octave Up",
								   "Octave Dn"};

	const pp_int32 buttonIDs2[4] = {TRANSPOSE_BUTTON_USER1, 
									TRANSPOSE_BUTTON_USER2, 
									TRANSPOSE_BUTTON_USER3, 
									TRANSPOSE_BUTTON_USER4};

	const char* buttonTexts2[4] = {"Track",
								   "Pattern",
								   "Song",
								   "Block"};
	PPSize size = container->getSize();

	/*tracker.showMessageBox(MESSAGEBOX_TRANSPOSE, "Filter options", Tracker::MessageBox_OK, false);
	
	PPMessageBoxContainer* container = static_cast<PPMessageBoxContainer*>(screen->getModalControl());
	
	container->setCaption("Transpose");
	
	container->removeControl(container->getControlByID(MESSAGEBOX_BUTTON_YES));
	
	PPSize size = container->getSize();
	
	size.height = 216;
	
	PPPoint location = container->getLocation();
	
	location.y = screen->getHeight() / 2 - size.height / 2;
	
	container->setLocation(location);
	container->setSize(size);
	
	PPStaticText* text = static_cast<PPStaticText*>(container->getControlByID(1));
	ASSERT(text);
	
	text->setUnderlined(true);
	
	PPPoint location2 = text->getLocation();
	
	location2.y = location.y + 20;
	location2.x = location.x + 6;
	
	text->setLocation(location2);
	
	location2 = location;*/
	
	PPStaticText* text;
	
	PPPoint location(px,py);
	
	PPPoint location2 = location;
	
	PPRadioGroup* radioGroup;
	PPButton* button;
	
	// ----------------------- Instrument ----------------------
	location2.x += 2;
	location2.y += 2;
	
	text = new PPStaticText(0, NULL, NULL, location2, "Instrument:", true);
	container->addControl(text);		
	
	location2.y += 10;
	
	PPPoint temp = location2;
	
	radioGroup = new PPRadioGroup(2, screen, this, PPPoint(location2.x, location2.y-2), PPSize(8*9, 42));
	radioGroup->setColor(TrackerConfig::colorThemeMain);

	radioGroup->addItem("Single:");
	radioGroup->addItem("All");
	radioGroup->addItem("Range:");

	radioGroup->setChoice(1);

	container->addControl(radioGroup);		

	// plus minus
	pp_int32 h = location2.x + 8*9;
	pp_int32 hy = location2.y + 3;
	
	container->addControl(new PPStaticText(TRANSPOSE_TEXT_INS, NULL, NULL, PPPoint(h,hy), "xx", false));
	
	h+=8*2+4;
	
	button = new PPButton(TRANSPOSE_BUTTON_INS_PLUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	h+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_INS_MINUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);
	

	location2.y += radioGroup->getSize().height;
	//location2.x +=6*8 + 10;
	
	location2.x+=8*2-2;
	
	h = location2.x;
	
	text = new PPStaticText(TRANSPOSE_TEXT_INS_RANGESTART, NULL, NULL, location2, "From:xx", false);
	container->addControl(text);			

	location2.x += 8*8-4;
	button = new PPButton(TRANSPOSE_BUTTON_INS_RANGESTART_PLUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	location2.x+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_INS_RANGESTART_MINUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);
	//location2.x+=button->getSize().width + 2;

	location2.x = h;
	location2.y+=11;

	text = new PPStaticText(TRANSPOSE_TEXT_INS_RANGEEND, NULL, NULL, location2, "To:  xx", false);
	container->addControl(text);			
	location2.x+=8*8-4;

	button = new PPButton(TRANSPOSE_BUTTON_INS_RANGEEND_PLUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	location2.x+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_INS_RANGEEND_MINUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);

	// ---------------- notes ---------------------
	location2.x += button->getSize().width + 26;
	location2.y = location.y + 2;
	
	container->addControl(new PPSeperator(0, screen, PPPoint(location2.x-6, location.y+2), (size.height)-42, container->getColor(), false));
	
	text = new PPStaticText(0, NULL, NULL, location2, "Note:", true);
	container->addControl(text);		
	
	location2.y += 10;
	
	temp = location2;
	
	radioGroup = new PPRadioGroup(3, screen, this, PPPoint(location2.x, location2.y-2), PPSize(8*9, 42));
	radioGroup->setColor(TrackerConfig::colorThemeMain);

	radioGroup->addItem("Single:");
	radioGroup->addItem("All");
	radioGroup->addItem("Range:");

	radioGroup->setChoice(1);

	container->addControl(radioGroup);		

	// plus minus
	h = location2.x + 8*9;
	hy = location2.y + 3;
	
	container->addControl(new PPStaticText(TRANSPOSE_TEXT_NOTE, NULL, NULL, PPPoint(h,hy), "xxx", false));
	
	h+=8*3+4;
	
	button = new PPButton(TRANSPOSE_BUTTON_NOTE_PLUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	h+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_NOTE_MINUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);

	location2.y += radioGroup->getSize().height;
	//location2.x +=6*8 + 10;
	
	location2.x+=8*2-2;
	
	h = location2.x;
	
	text = new PPStaticText(TRANSPOSE_TEXT_NOTE_RANGESTART, NULL, NULL, location2, "From:xxx", false);
	container->addControl(text);			

	location2.x += 8*9-4;
	button = new PPButton(TRANSPOSE_BUTTON_NOTE_RANGESTART_PLUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	location2.x+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_NOTE_RANGESTART_MINUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);
	//location2.x+=button->getSize().width + 2;

	location2.x = h;
	location2.y+=11;

	text = new PPStaticText(TRANSPOSE_TEXT_NOTE_RANGEEND, NULL, NULL, location2, "To:  xxx", false);
	container->addControl(text);			
	location2.x+=8*9-4;

	button = new PPButton(TRANSPOSE_BUTTON_NOTE_RANGEEND_PLUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	location2.x+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_NOTE_RANGEEND_MINUS, screen, this, location2, PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);

	// horizontal ruler
	location2.y += button->getSize().height+5;

	container->addControl(new PPSeperator(0, screen, PPPoint(location.x+2, location2.y), size.width-5, container->getColor(), true));	
	
	location2.x += button->getSize().width + 26;
	location2.y = location.y + 4;
	
	container->addControl(new PPSeperator(0, screen, PPPoint(location2.x-6, location.y+2), (size.height)-42, container->getColor(), false));

	const PPString str = "Amount:";

	location2.y-=2;
	
	text = new PPStaticText(6, NULL, NULL, location2, str, true);
	container->addControl(text);			
	
	const PPString str2 = "-xx";

	location2.y+=13;
	location2.x+=8;

	text = new PPStaticText(TRANSPOSE_TEXT_AMOUNT, NULL, NULL, location2, str2, false);
	container->addControl(text);			

	h = location2.x+3*8+4;
	hy = location2.y;

	button = new PPButton(TRANSPOSE_BUTTON_AMOUNT_PLUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonPlus);
	container->addControl(button);
	h+=button->getSize().width;
	button = new PPButton(TRANSPOSE_BUTTON_AMOUNT_MINUS, screen, this, PPPoint(h, hy), PPSize(10, 9));
	button->setText(TrackerConfig::stringButtonMinus);
	container->addControl(button);	

	hy+=11;
	h-=5*8;
	text = new PPStaticText(TRANSPOSE_TEXT_AMOUNT2, NULL, NULL, PPPoint(h+1, hy), "note(s)", true);
	container->addControl(text);			
	
	// preset buttons
	pp_int32 buttonWidth = 7*8+4;
	pp_int32 buttonHeight = 9;
	pp_int32 spacer = 10;
	
	pp_int32 y2 = hy+11;
	pp_int32 x = h-3;
	
	for (i = 0; i < 4; i++)
	{
		PPButton* button = new PPButton(buttonIDs[i], screen, this, PPPoint(x, y2), PPSize(buttonWidth, buttonHeight));
		button->setText(buttonTexts[i]);
		button->setFont(PPFont::getFont(PPFont::FONT_TINY));
		container->addControl(button);
		
		y2+= buttonHeight+1;
	}
	
	y2+=10;

	//container->addControl(new PPSeperator(0, screen, PPPoint(location.x+2, y2), size.width-5, container->getColor(), true));

	const PPString str3 = "Apply:";

	location2.x = location.x+6;
	location2.y = y2;
	
	text = new PPStaticText(6, NULL, NULL, location2, str3, true);
	container->addControl(text);			
	
	buttonWidth = 60;
	
	//y2+=14;

	spacer = 4;
	buttonHeight = 14;
	pp_int32 cx = ((buttonWidth) * 4 + (spacer*3))/2;
	x = location.x + (size.width-6*8)/2 - cx + 6*8 + 2;
	y2-=3;
	
	for (i = 0; i < 4; i++)
	{
		PPButton* button = new PPButton(buttonIDs2[i], screen, this, PPPoint(x, y2), PPSize(buttonWidth, buttonHeight));
		button->setText(buttonTexts2[i]);
		container->addControl(button);
		
		x+= buttonWidth + spacer;
	}

	y2 += buttonHeight+2;

	container->addControl(new PPSeperator(0, screen, PPPoint(location.x+2, y2), size.width-5, container->getColor(), true));	
	
	y2+=4;
	buttonWidth = 8*4+4;
	buttonHeight = 11;
	button = new PPButton(TRANSPOSE_BUTTON_EXIT, screen, this, PPPoint(x-buttonWidth-spacer, y2), PPSize(buttonWidth,buttonHeight));
	button->setText("Exit");
	container->addControl(button);
	
	sectionContainer = container;

	initialised = true;

	showSection(false);
}
void __fastcall TSettingsEditDlg::SectionsListClick( TObject */*Sender*/ )
{
   getDetails();  // save what is set already
   showSection();
}
Esempio n. 16
0
void SectionQuickOptions::init(pp_int32 px, pp_int32 py)
{
	PPCheckBox* checkBox;
	PPScreen* screen = tracker.screen;

	if (dialogPanning == NULL)
		dialogPanning = new DialogPanning(screen, this, TrackerConfig::numPlayerChannels);

	PPContainer* container = new PPContainer(CONTAINER_QUICKOPTIONS, tracker.screen, this, PPPoint(px, py), PPSize(320,UPPERLEFTSECTIONHEIGHT), false);
	container->setColor(TrackerConfig::colorThemeMain);	
	tracker.screen->addControl(container);

	container->addControl(new PPStaticText(0, NULL, NULL, PPPoint(px + 2, py + 2), "Quick Options (experts only)", true, true));

	PPSize size = container->getSize();

	pp_int32 buttonWidth = 8*4+4;
	pp_int32 buttonHeight = 11;
	
	pp_int32 x = px+container->getSize().width-(buttonWidth+4);
	pp_int32 y = py+container->getSize().height-(buttonHeight+4);

	container->addControl(new PPSeperator(0, screen, PPPoint(x - 6, y - 4), 4 + buttonHeight + 3, TrackerConfig::colorThemeMain, false));
	container->addControl(new PPSeperator(0, screen, PPPoint(px + 2, y - 4), container->getSize().width - 4, TrackerConfig::colorThemeMain, true));

	PPButton* button = new PPButton(QUICKOPTIONS_BUTTON_EXIT, screen, this, PPPoint(x, y), PPSize(buttonWidth,buttonHeight));
	button->setText("Exit");
	container->addControl(button);

	pp_int32 x2 = px+4;
	pp_int32 y2 = py+4+12;

	y+=2;
	container->addControl(new PPStaticText(QUICKOPTIONS_STATICTEXT_KEEPOPTIONS, NULL, NULL, PPPoint(x2 + 2, y), "Keep settings (auto-adjust OFF)", true));
	checkBoxKeepSettings = new PPCheckBox(QUICKOPTIONS_CHECKBOX_KEEPOPTIONS, screen, this, PPPoint(x2 + 2 + 31*8 + 4, y-1));
	checkBoxKeepSettings->checkIt(false);
	container->addControl(checkBoxKeepSettings);	

	// add playback modes
	container->addControl(new PPStaticText(0, NULL, NULL, PPPoint(x2, y2), "Playback mode:", true));

	y2+=10;

	PPRadioGroup* radioGroup = new PPRadioGroup(QUICKOPTIONS_RADIOGROUP_PLAYBACKMODE, screen, this, PPPoint(x2+2, y2), PPSize(17*8, 3*14));
	radioGroup->setColor(TrackerConfig::colorThemeMain);

	radioGroup->addItem("Fasttracker 2.x");
	radioGroup->addItem("Protracker 2.x");
	radioGroup->addItem("Protracker 3.x");

	container->addControl(radioGroup);		

	y2+=radioGroup->getSize().height;

	x2 += radioGroup->getSize().width+6;
	y2 = py + 16;
	container->addControl(new PPSeperator(0, screen, PPPoint(x2 - 4, y2 - 2), container->getLocation().y + container->getSize().height - y2 - 17, TrackerConfig::colorThemeMain, false));

	y2 = py+4+12;
	x2+=2;

	container->addControl(new PPStaticText(0, NULL, NULL, PPPoint(x2, y2), "Advanced:", true));

	y2+=15;

	container->addControl(new PPStaticText(QUICKOPTIONS_STATICTEXT_ALLOW8XX, NULL, NULL, PPPoint(x2, y2), "Allow 8xx panning", true));
	checkBox = new PPCheckBox(QUICKOPTIONS_CHECKBOX_ALLOW8XX, screen, this, PPPoint(x2 + 19*8 + 4, y2-1));
	container->addControl(checkBox);

	y2+=13;

	container->addControl(new PPStaticText(QUICKOPTIONS_STATICTEXT_ALLOWE8X, NULL, NULL, PPPoint(x2, y2), "Allow E8x panning", true));
	checkBox = new PPCheckBox(QUICKOPTIONS_CHECKBOX_ALLOWE8X, screen, this, PPPoint(x2 + 19*8 + 4, y2-1));
	container->addControl(checkBox);

	y2+=13;

	container->addControl(new PPStaticText(QUICKOPTIONS_STATICTEXT_PTPERIODRANGE, NULL, NULL, PPPoint(x2, y2), "PT 3 octaves limit", true));
	checkBox = new PPCheckBox(QUICKOPTIONS_CHECKBOX_PTPERIODRANGE, screen, this, PPPoint(x2 + 19*8 + 4, y2-1));
	container->addControl(checkBox);

	y2+=13;

	container->addControl(new PPStaticText(QUICKOPTIONS_STATICTEXT_SETDEFAULTPANNING, NULL, NULL, PPPoint(x2, y2), "Default panning", true));

	button = new PPButton(QUICKOPTIONS_BUTTON_SETDEFAULTPANNING, screen, this, PPPoint(x2 + 19*8 - 18, y2-1), PPSize(4*8,buttonHeight));
	button->setText("Set");
	container->addControl(button);

	sectionContainer = container;
	
	initialised = true;

	showSection(false);
}