Qt Ambassador

J7GoodiesQ7Goodies

Windows 7 taskbar extensions for the Qt framework

Q7Goodies is a Qt library that provides all Windows 7 features.
It requires just a few lines of code because we did all the hard work for you.

Jump List

The JumpList class provides an easy way to create Windows 7 Jump Lists. You can access the system managed Recent and Frequent categories or append your own application-specific actions to the Tasks list. You can even define your own categories and add them in addition to or in place of the standard Recent and Frequent categories. The code below shows how to create the jump list from the right image.

DestinationList albums;
albums.addFile("C:\\Users\\Alex\\My Pictures\\Bachelor Party.alb");
albums.addFile("C:\\Users\\Alex\\My Pictures\\Family.alb");
albums.addFile("C:\\Users\\Alex\\My Pictures\\Flowers.alb");

DestinationList tasks;
tasks.addTask("/camera", "Import from camera", cameraIconPath);
tasks.addTask("/scan", "Scan a photo", scannerIconPath);

JumpList jumpList;
jumpList.appendRecentCategory();
jumpList.appendCustomCategory("Albums", albums);
jumpList.appendTasks(tasks);
jumpList.save();
Windows 7 Jump List
Watch video
Windows 7 Tabbed Thumbnails
Watch video

Taskbar Tabbed Thumbnails

The Q7TabWidget class is a drop-in replacement for Qt's QTabWidget with built-in support for Windows 7 taskbar thumbnails. It provides full the functionality: thumbnails, live previews, switching and closing. The best part is that you don't have to write any extra code for your existing TDI application!

// Replace QTabWidget usage with this class
Q7TabWidget *tabWidget = new Q7TabWidget();

// You can choose to enable or disable taskbar thumbnails
tabWidget->setTaskbarThumbnailsEnabled(true); 

Thumbnails For Any Widget

You can create Windows 7 taskbar thumbnails not only for windows or QTabWidget pages. Any QWidget can become a switch target (an object having its taskbar thumbnail). Even custom MDI applications (ex. based on QStackedWidget) will integrate with Q7Goodies seamlessly.
If you need to fine-tune thumbnails, that's not a problem at all. By default the Thumbnail class will render your widget automatically, but you can switch to manual mode (setRenderingPolicy). Then it will emit signals whenever an iconic thumbnail (iconicThumbnailRequested) or a live preview (livePreviewRequested) is requested by Windows shell.

Use the TabbedThumbnails class to manage your thumbnails collection and Thumbnail to control individual thumbnails.

TabbedThumbnails *thumbnails = taskbarButton->tabbedThumbnails();
Thumbnail *thumb = thumbnails->addTab(nameLineEdit);
thumb->setTitle("Name");
thumb->setIcon(QIcon(":/icons/users.png"));
thumb = thumbnails->addTab(emailLineEdit);
thumb->setTitle("E-mail");
thumb->setIcon(QIcon(":/icons/email.png"));
thumb = thumbnails->addTab(websiteLineEdit);
thumb->setTitle("Website");
thumb->setIcon(QIcon(":/icons/web-browser.png"));
Windows 7 Tabbed Thumbnails
Watch video
Windows 7 Taskbar Thumbnail Toolbar
Watch video

Taskbar Thumbnail Toolbar

The ThumbnailToolBar class integrates with Qt's action system to provide a consistent API. Reuse your existing QActions (the same you use for QMenu and QToolBar) to manage the Windows 7 thumbnail toolbar. It's that simple!

ThumbnailToolBar *thumbBar = taskbarButton->thumbnailToolBar();
thumbBar->addAction(prevAction);
thumbBar->addAction(playAction);
thumbBar->addAction(nextAction);
thumbBar->show();

Taskbar Progress Bar

The TaskbarProgressBar class mimics QProgressBar's API. To make your application window's Windows 7 taskbar progress bar automatically track existing QProgressBar just connect its valueChanged(int) signal to a TaskbarProgressBar's setValue(int) slot. To indicate special condition (pause, error) use the state property.

// Set the progress state of the button to indeterminate
// while you calculate the number of operations to be performed.
taskbarButton->progressBar()->setState(IndeterminateProgress);

// Track an existing QProgressBar
connect(progressBar, SIGNAL(valueChanged(int)),
        taskbarButton->progressBar(), SLOT(setValue(int)));

// Pause an operation
taskbarButton->progressBar()->setState(PausedProgress);
Windows 7 Taskbar Progress Bar
Watch video
Windows 7 Taskbar Overlay Icon
Watch video

Taskbar Overlay Icon

Displaying a Windows 7 overlay icon is a simple as calling TaskbarButton::setOverlayIcon(QIcon)

void Widget::comboBox_currentIndexChanged(int index)
{
    QIcon icon = comboBox->itemIcon(index);
    taskbarButton->setOverlayIcon(icon);
}

Looks interesting?

Go ahead and try our demos or checkout pricing. If you have any questions, please don't hesitate to contact us.