File: FocusCombo.h

package info (click to toggle)
xca 2.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,328 kB
  • sloc: cpp: 30,584; sh: 341; xml: 74; makefile: 56; python: 34
file content (39 lines) | stat: -rw-r--r-- 736 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* vi: set sw=4 ts=4:
 *
 * Copyright (C) 2014 Christian Hohnstaedt.
 *
 * All rights reserved.
 */

#ifndef __FOCUSCOMBO_H
#define __FOCUSCOMBO_H

#include <QComboBox>

class focusCombo : public QComboBox
{
  public:
	focusCombo(QWidget *parent) : QComboBox(parent) { }
	void hidePopup()
	{
		QComboBox::hidePopup();
		emit highlighted(currentIndex());
	}
	QVariant currentItemData()
	{
		return QComboBox::itemData(currentIndex());
	}
	void addItemsData(const QStringList &textdata, const QString &selected)
	{
		int c = 0;
		Q_ASSERT(textdata.size() % 2  == 0);
		for (int i=0; i< textdata.size(); i+=2) {
			addItem(textdata[i], textdata[i+1]);
			if (textdata[i+1] == selected)
				c = i/2;
		}
		setCurrentIndex(c);
	}
};

#endif