вот немного переработал и сдела удобнее для использвания
пример использования аналагичен
QTimer (в аттаче)
inactive = new QMInaction;
inactive->setInterval(30);
connect(inactive, SIGNAL(timeout()), this, SLOT(inactiveActon()));
inactive->start();
Недостатки
1. не работает в linux(надеюсь пока)
2. не учитывает событие скрола колесом
3. не учитывает включен ли полезный процесс, например просмотр кинофильма
Что есть
startSignal() - срабатывает при запуске . вызов метода start()
stopSignal() - при остановке. вызов метода stop()
timeout() - тоже сигнал , срабатывает при достижении нужного времени бездействия(в секундах)
inactiverestart(unsigned short) - сигнал срабатывает при сбросе счетчика когда сработало какое-то действие
пока расширять функционал не планирую, т.к. для моей задачи то что получилось вполне результативно... может кому пригодится
P.S. прошу сильно не критиковать т.к. на C++ пишу не более 3-4 дней.