59b516a118
The 3rdparty files are now compiled as part of the corresponding input method, so that the project files can be written without using platform specific linker flags.
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
/******************************************************************************
|
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
|
*****************************************************************************/
|
|
|
|
#ifndef QSK_PINYIN_COMPOSITION_MODEL_H
|
|
#define QSK_PINYIN_COMPOSITION_MODEL_H
|
|
|
|
#include "QskInputCompositionModel.h"
|
|
|
|
class QskPinyinCompositionModel : public QskInputCompositionModel
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
QskPinyinCompositionModel();
|
|
virtual ~QskPinyinCompositionModel() override;
|
|
|
|
virtual bool supportsSuggestions() const override final;
|
|
|
|
virtual int candidateCount() const override;
|
|
virtual QString candidate( int ) const override;
|
|
|
|
virtual QVector< Qt::Key > groups() const override;
|
|
|
|
protected:
|
|
// Used for text composition
|
|
virtual bool hasIntermediate() const override;
|
|
virtual QString polishPreedit( const QString& preedit ) override;
|
|
virtual bool isComposable( const QStringRef& preedit ) const override;
|
|
|
|
private:
|
|
void handleGroupIndexChanged();
|
|
|
|
class PrivateData;
|
|
std::unique_ptr< PrivateData > m_data;
|
|
};
|
|
|
|
#endif
|