Fix timeout problem in keyboard unit test
This commit is contained in:
parent
5574104dd9
commit
2b33c1875a
|
@ -203,7 +203,7 @@ class Scrollviewdemo final : public finalcut::FDialog
|
||||||
void onClose (finalcut::FCloseEvent*) override;
|
void onClose (finalcut::FCloseEvent*) override;
|
||||||
|
|
||||||
// Callback method
|
// Callback method
|
||||||
void cb_quit (const finalcut::FWidget* = nullptr, const FDataPtr = nullptr);
|
void cb_quit();
|
||||||
|
|
||||||
// Data members
|
// Data members
|
||||||
Scrollview sview{this};
|
Scrollview sview{this};
|
||||||
|
@ -230,9 +230,8 @@ Scrollviewdemo::Scrollviewdemo (finalcut::FWidget* parent)
|
||||||
quit_btn.addCallback
|
quit_btn.addCallback
|
||||||
(
|
(
|
||||||
"clicked",
|
"clicked",
|
||||||
finalcut::getFApplication(),
|
this,
|
||||||
&finalcut::FApplication::cb_exitApp,
|
&Scrollviewdemo::cb_quit
|
||||||
this
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// Text label
|
// Text label
|
||||||
|
@ -246,7 +245,7 @@ Scrollviewdemo::~Scrollviewdemo()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void Scrollviewdemo::cb_quit (const finalcut::FWidget*, const FDataPtr)
|
void Scrollviewdemo::cb_quit()
|
||||||
{
|
{
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ FMouseControl* FApplication::mouse {nullptr}; // mouse control
|
||||||
int FApplication::loop_level {0}; // event loop level
|
int FApplication::loop_level {0}; // event loop level
|
||||||
int FApplication::quit_code {EXIT_SUCCESS};
|
int FApplication::quit_code {EXIT_SUCCESS};
|
||||||
bool FApplication::quit_now {false};
|
bool FApplication::quit_now {false};
|
||||||
uInt64 FApplication::next_event_wait{50000}; // preset to 50 ms
|
uInt64 FApplication::next_event_wait {20000}; // preset to 20 ms
|
||||||
struct timeval FApplication::time_last_event{};
|
struct timeval FApplication::time_last_event{};
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
|
@ -652,7 +652,7 @@ void FMenu::hideSubMenus()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FMenu::hideSuperMenus()
|
void FMenu::hideSuperMenus() const
|
||||||
{
|
{
|
||||||
// hide all menus to the top
|
// hide all menus to the top
|
||||||
auto super = getSuperMenu();
|
auto super = getSuperMenu();
|
||||||
|
@ -907,7 +907,7 @@ void FMenu::mouseUpOverBorder()
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FMenu::mouseMoveOverBorder (mouseStates& ms)
|
void FMenu::mouseMoveOverBorder (mouseStates& ms) const
|
||||||
{
|
{
|
||||||
// Mouse is moved over border or separator line
|
// Mouse is moved over border or separator line
|
||||||
|
|
||||||
|
|
|
@ -468,7 +468,10 @@ const char* FTermDetection::termtype_256color_quirks()
|
||||||
color256 = true;
|
color256 = true;
|
||||||
|
|
||||||
if ( ! isScreenTerm() )
|
if ( ! isScreenTerm() )
|
||||||
return (new_termtype = "gnome-256color");
|
{
|
||||||
|
new_termtype = "gnome-256color";
|
||||||
|
return new_termtype;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! color256 )
|
if ( ! color256 )
|
||||||
|
|
|
@ -2802,7 +2802,7 @@ void FVTerm::printPaddingCharacter (FTermArea* area, const FChar& term_char)
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
void FVTerm::updateTerminalLine (uInt y)
|
void FVTerm::updateTerminalLine (uInt y) const
|
||||||
{
|
{
|
||||||
// Updates pending changes from line y to the terminal
|
// Updates pending changes from line y to the terminal
|
||||||
|
|
||||||
|
|
|
@ -64,10 +64,10 @@ struct FCallbackData
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
FCallbackData (const FCallbackData&) = default;
|
FCallbackData (const FCallbackData&) = default;
|
||||||
FCallbackData (FCallbackData&&) = default;
|
FCallbackData (FCallbackData&&) noexcept = default;
|
||||||
|
|
||||||
FCallbackData& operator = (const FCallbackData&) = default;
|
FCallbackData& operator = (const FCallbackData&) = default;
|
||||||
FCallbackData& operator = (FCallbackData&&) = default;
|
FCallbackData& operator = (FCallbackData&&) noexcept = default;
|
||||||
|
|
||||||
// Data members
|
// Data members
|
||||||
FString cb_signal{};
|
FString cb_signal{};
|
||||||
|
|
|
@ -231,7 +231,7 @@ class FDialog : public FWindow
|
||||||
FToolTip* tooltip{nullptr};
|
FToolTip* tooltip{nullptr};
|
||||||
|
|
||||||
// Friend function from FMenu
|
// Friend function from FMenu
|
||||||
friend void FMenu::hideSuperMenus();
|
friend void FMenu::hideSuperMenus() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
// FDialog inline functions
|
// FDialog inline functions
|
||||||
|
|
|
@ -180,7 +180,7 @@ class FMenu : public FWindow, public FMenuList
|
||||||
void openSubMenu (FMenu*, bool = false);
|
void openSubMenu (FMenu*, bool = false);
|
||||||
void closeOpenedSubMenu();
|
void closeOpenedSubMenu();
|
||||||
void hideSubMenus();
|
void hideSubMenus();
|
||||||
void hideSuperMenus();
|
void hideSuperMenus() const;
|
||||||
bool mouseDownOverList (const FPoint&);
|
bool mouseDownOverList (const FPoint&);
|
||||||
void mouseDownSubmenu (const FMenuItem*);
|
void mouseDownSubmenu (const FMenuItem*);
|
||||||
void mouseDownSelection (FMenuItem*, bool&);
|
void mouseDownSelection (FMenuItem*, bool&);
|
||||||
|
@ -189,7 +189,7 @@ class FMenu : public FWindow, public FMenuList
|
||||||
void mouseMoveSelection (FMenuItem*, mouseStates&);
|
void mouseMoveSelection (FMenuItem*, mouseStates&);
|
||||||
void mouseMoveDeselection (FMenuItem*, mouseStates&);
|
void mouseMoveDeselection (FMenuItem*, mouseStates&);
|
||||||
void mouseUpOverBorder();
|
void mouseUpOverBorder();
|
||||||
void mouseMoveOverBorder (mouseStates&);
|
void mouseMoveOverBorder (mouseStates&) const;
|
||||||
void passEventToSubMenu (FMouseEvent* const&);
|
void passEventToSubMenu (FMouseEvent* const&);
|
||||||
void passEventToSuperMenu (FMouseEvent* const&);
|
void passEventToSuperMenu (FMouseEvent* const&);
|
||||||
void passEventToMenuBar (FMouseEvent* const&) const;
|
void passEventToMenuBar (FMouseEvent* const&) const;
|
||||||
|
|
|
@ -404,7 +404,7 @@ class FVTerm
|
||||||
static void cursorWrap();
|
static void cursorWrap();
|
||||||
bool printWrap (FTermArea*) const;
|
bool printWrap (FTermArea*) const;
|
||||||
void printPaddingCharacter (FTermArea*, const FChar&);
|
void printPaddingCharacter (FTermArea*, const FChar&);
|
||||||
void updateTerminalLine (uInt);
|
void updateTerminalLine (uInt) const;
|
||||||
bool updateTerminalCursor() const;
|
bool updateTerminalCursor() const;
|
||||||
bool isInsideTerminal (const FPoint&) const;
|
bool isInsideTerminal (const FPoint&) const;
|
||||||
bool isTermSizeChanged() const;
|
bool isTermSizeChanged() const;
|
||||||
|
|
|
@ -2860,6 +2860,10 @@ void FKeyboardTest::processInput()
|
||||||
|
|
||||||
if ( keyboard->isKeyPressed() )
|
if ( keyboard->isKeyPressed() )
|
||||||
keyboard->fetchKeyCode();
|
keyboard->fetchKeyCode();
|
||||||
|
|
||||||
|
// Keyboard interval timeout 75 ms (= 75,000,000 ns)
|
||||||
|
const struct timespec ms[]{{0, 75000000L}};
|
||||||
|
nanosleep (ms, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue