VolumeSlider’s tooltip misbehaviour

I was developing a Qt application that makes use of a Phonon::VolumeSlider object. But after clicking the mute button beside of the VolumeSlider and verifying its tooltip, I noticed it was showing the wrong volume. A video can explain this better than me:

If you want to reproduce this problem, you can download its source code as a Qt Creator project. Please keep in mind that it’s the source code with errors!  But there’s a workaround to this problem:

1. In the class where you create the Phonon::AudioOutput whose volume is handled by the VolumeSlider, put this:

connect(audioOutput, SIGNAL(mutedChanged(bool)), this, SLOT(handleMute(bool)));
connect(audioOutput, SIGNAL(volumeChanged(qreal)), this, SLOT(handleVolume(qreal)));

2. Create the slots you used above using the following code:

void MainWindow::handleMute(bool mute) {
    if (!mute) {
        audioOutput->setVolume(outputVolume);
    }
}
void MainWindow::handleVolume(qreal volume) {
    outputVolume = volume;
}

3. Declare the slots and the outputVolume variable in your header file:

private:
    qreal outputVolume;

private slots:
    void handleMute(bool mute);
    void handleVolume(qreal volume);

You can download the fixed source code. I don’t know if this behaviour is the expected in Qt, but I filed a bug for it.

Haiku OS R1 alpha 2

I’ve been reading about Haiku OS for some years. Haiku is an operating system inspired by the extinct BeOS, and for me it’s like an Unix clone with a good and clean interface, like Mac OS, but free.

Some months ago its developers released their first alpha, that I’ve already talked about and shown some screenshots. Some days ago they released a new version, Haiku R1 alpha 2. The interface is even better than before and the new features are great. My favourite one is WebPositive, a WebKit-based browser:

WebPositive

I maximised the WebPositive window and its menubar became like a Mac OS apllication menubar:

WebPositive's menubar

Something I didn’t notice in the latest release: Haiku has support for desktop applets. And OpenGL support is already there too:

Haiku Desktop

Upgrading packages built from AUR

Some Arch Linux users, like me, are used to build packages from AUR. After some time they become out-of-date and it’s a hard work to upgrade them.

But yaourt comes to save us, with a single line:

yaourt -Su --aur

It upgrades all packages that aren’t in Arch Linux official repositories. And you can see its friendly output below:

Yaourt