From 9647d4c7ff182c1fadffb9c6218bc00132fe682e Mon Sep 17 00:00:00 2001 From: Mavridis Philippe Date: Thu, 21 Dec 2023 17:32:43 +0200 Subject: Kxkb: move LayoutUnit struct into its own file and add getLayoutName function Signed-off-by: Mavridis Philippe --- kxkb/layoutunit.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 kxkb/layoutunit.h (limited to 'kxkb/layoutunit.h') diff --git a/kxkb/layoutunit.h b/kxkb/layoutunit.h new file mode 100644 index 000000000..f4d82f73f --- /dev/null +++ b/kxkb/layoutunit.h @@ -0,0 +1,64 @@ +// +// +// Author: Andriy Rysin , (C) 2006 +// +// Copyright: See COPYING file that comes with this distribution +// +// + +#ifndef _LAYOUTUNIT_H +#define _LAYOUTUNIT_H + +#include + +inline TQString createPair(TQString key, TQString value) +{ + if (value.isEmpty()) return key; + return TQString("%1(%2)").arg(key, value); +} + +struct LayoutUnit { + TQString layout; + TQString variant; + TQString displayName; + + LayoutUnit() {} + + LayoutUnit(TQString layout_, TQString variant_): + layout(layout_), + variant(variant_) + {} + + LayoutUnit(TQString pair) { + setFromPair( pair ); + } + + void setFromPair(const TQString& pair) { + layout = parseLayout(pair); + variant = parseVariant(pair); + } + + TQString toPair() const { + return createPair(layout, variant); + } + + bool operator<(const LayoutUnit& lu) const { + return layout