[Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

Thiago Macieira thiago.macieira at intel.com
Thu Feb 27 20:29:35 CET 2020


On Wednesday, 26 February 2020 08:26:14 PST Alex Blasche wrote:
> > fooChanged(), and can perfectly well stand on their own, without
> > annotations. Corner cases like "emit pressed();” can be annotated with
> > Q_EMIT or a comment to make it clearer what’s going on.
> 
> 
> Some end with "Changed". The overwhelming amount does not follow this rule
> and we won't change the naming for Qt 6 either. The naming convention
> merely states that there is a verb at the end. 

No, but the vast majority does have a verb in the past tense as its core name 
component and that's enforced by our API design rules. Only a few legacy 
signals like readyRead() aren't like that.

$ grep -A1 '// SIGNAL' **/.moc/*(.) | \
	sed -En 's/.*-void .*::([a-zA-Z0-9_]+)\(.*/\1/p' | \
	grep -v Changed | sort -u
abortHttpRequest
aboutToActivate
aboutToBeDestroyed
aboutToBlock
aboutToClose
aboutToCompose
aboutToDestroyContext
aboutToHide
aboutToQuit
aboutToResize
aboutToShow
aboutToSuspend
accept
accepted
acceptError
ActionInvoked
actionTriggered
activate
activated
activatedAmbiguously
activationFinished
AddAccessible
anchorClicked
attention
authenticationRequired
Available
awake
backwardAvailable
beforeDelete
beforeInsert
beforeUpdate
blockMarkerHovered
buttonClicked
buttonPressed
buttonReleased
buttonToggled
bytesWritten
cacheCredentials
callWithCallbackFailed
canceled
cellActivated
cellClicked
cellDoubleClicked
cellEntered
cellPressed
changed
changeDate
channelBytesWritten
channelReadyRead
clicked
closed
closeEditor
collapsed
colorDropped
colorSelected
columnsAboutToBeInserted
columnsAboutToBeMoved
columnsAboutToBeRemoved
columnsInserted
columnsMoved
columnsRemoved
commandFinished
commandStarted
commitData
commitDataRequest
CommitText
configurationAdded
configurationRemoved
configurationUpdateComplete
connected
connectionError
connectionRequested
connectionsListReady
connectState
contentsChange
contextMenuRequested
copyAvailable
CursorDownLookupTable
cursorPositionChangeRequested
CursorUpLookupTable
customButtonClicked
customContextMenuRequested
dataReadProgress
dataSendProgress
dataTransferProgress
DeleteSurroundingText
destroyed
deviceAdded
deviceDetected
deviceRemoved
devicesListReady
directoryEntered
directoryLoaded
directoryUrlEntered
Disabled
disconnected
done
doScroll
doubleClicked
doubleValueSelected
downloadData
downloadFinished
downloadMetaData
downloadProgress
editingFinished
Enabled
encrypted
encryptedBytesWritten
entered
entryReady
error
errorOccurred
exited
expanded
fileRenamed
fileSelected
filesSelected
filterSelected
finished
finishedWithError
fontSelected
forcedSessionClose
forwardAvailable
ForwardKeyEvent
frameGrabbed
frameSwapped
goToUrl
gripMoved
handleMouseEvent
handleWheelEvent
handshakeTimeout
haveUploadData
headerRead
helpRequested
HideAuxiliaryText
HideLookupTable
HidePreeditText
hidingCalendar
highlighted
hostFound
hovered
indexesMoved
inputRejected
interrupted
intValueSelected
itemActivated
ItemActivationRequested
itemClicked
itemCollapsed
itemDoubleClicked
itemEntered
itemExpanded
itemPressed
itemsAvailable
itemSelected
itemsInvalidated
itemsMissing
ItemsPropertiesUpdated
itemsUpdated
lastWindowClosed
LayoutUpdated
linkActivated
linkHovered
listInfo
locked
mapped
messageClicked
messageLogged
messageNeedsSending
modelAboutToBeReset
modelReset
NameAcquired
NameLost
nameResolved
networkSessionConnected
NewAttentionIcon
newCol
newConfigurationActivated
newConnection
newDateSelected
newHsv
NewIcon
newListOfFiles
NewMenu
NewOverlayIcon
newServerConnection
NewStatus
NewTitle
NewToolTip
notification
NotificationClosed
opened
overflow
pageAdded
PageDownLookupTable
pageRemoved
PageUpLookupTable
paintRequested
paused
peerVerifyError
popupRequested
preSharedKeyAuthenticationRequired
pressed
primeInsert
processedData
propertiesAssigned
propertiesReady
propertiesUpdated
proxyAuthenticationRequired
pskRequired
_q_clicked
_q_close
_q_doubleClicked
_q_minimize
_q_restore
quitPendingWaitsForOpened
rawCommandReply
rawFtpReply
readBufferFreed
readChannelFinished
readProgress
readyRead
readyReadStandardError
readyReadStandardOutput
redirectAllowed
redirected
redoAvailable
RegisterProperties
reject
rejected
released
RemoveAccessible
removed
reply
RequireSurroundingText
resetButton
resetData
resetInputContext
resized
resultReadyAt
resultsReady
resultsReadyAt
resumed
returnPressed
rowsAboutToBeInserted
rowsAboutToBeMoved
rowsAboutToBeRemoved
rowsAdded
rowsInserted
rowsMoved
rowsRemoved
saveStateRequest
scanFinished
screenAdded
screenRemoved
sectionClicked
sectionDoubleClicked
sectionEntered
sectionHandleDoubleClicked
sectionMoved
sectionPressed
sectionResized
selected
serverRequested
serviceRegistered
servicesReady
serviceUnregistered
settingsReady
ShowAuxiliaryText
showDate
ShowLookupTable
ShowPreeditText
sliderMoved
sliderPressed
sliderReleased
splitterMoved
spyHooksFinished
sslErrors
started
startHttpRequest
startHttpRequestSynchronously
stopped
subWindowActivated
tabBarClicked
tabBarDoubleClicked
tabCloseRequested
tabifiedDockWidgetActivated
tabMoved
textActivated
textEdited
textHighlighted
textValueSelected
timeout
toggled
touchDeviceRegistered
touchPointsUpdated
trayIconRegistered
triggered
undoAvailable
undoCommandAdded
unlocked
update
UpdateAuxiliaryText
updateBlock
updateCompleted
updated
UpdateLookupTable
updateMicroFocus
updateNeeded
UpdatePreeditText
updatePreviewWidget
UpdateProperty
updateRequest
updates
uploadProgress
urlSelected
urlsSelected
viewportEntered
visibilityRequest
wantData
widgetRemoved
windowActivated
workAreaResized

The ones starting with a capital letter seem to be standardised D-Bus 
interfaces.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products





More information about the Development mailing list